You are on page 1of 466

BETA VERSION

Seneste oversttelse: 2. november 2010, klokken 11:00 Nr man kommer med kommentarer eller rettelser til en given beta version bedes man angive det tilhrende id-nummer

ID: 2010-11-02-11-00

lars madsen

A INTRODUKTION TIL L TEX


grundlggende for alle brugere

MMX

Copyright 20022010 Lars Madsen Regler for anvendelse: Ingen ud over de almindelige copyrightregler. Man bedes dog undlade at placere kopier af bogen til download fra egen hjemmeside, link i stedet direkte til http: //www.imf.au.dk/system/latex/bog/ hvorved man sikrer sig at alle altid har direkte adgang til seneste version af bogen. Layout og typogra valgt og implementeret af forfatteren Skrifttype: 11pt / 13.6pt Kp-fonts A Sat med pdfL TEX og memoir -klassen Alle gurer er lavet med METAPOST eller TiKz Anvendte pakker (pakker som kun er anvendt i eksempler er ikke inkluderet):
afterpage amsmath babel berasans beramono bm calc caption color comment csquotes dlfltxbmarkup dlfltxbmisc dlfltxbcodetips dlfltxbtocconfig enumitem etex fix-cm fixltx2e fixme fontenc graphicx hyperref ifsym inputenc keyval kpfonts lipsum listings longtable mathtools mflogo microtype multicol natbib ntheorem paralist placeins ragged2e siunitx soul stmaryrd subfig svn-multi textcomp threeparttablex url varioref verbatimcopy xparse xspace

Samt desuden nogle (endnu) ikke-oentlige pakker:


felinebooksetup felineSD felinepreamble

Alle registrerede varemrker nvnt i denne bog tilhrer deres respektive ejere.

A til de danske L TEX-brugere med hbet om at dette vil hjlpe p vejen mod pnere dokumenter

samt alle de som fortsat bruger tid p A at forbedre L TEX og venner, nye som gamle

Kort oversigt

i Kort oversigt iii Indholdsfortegnelse xiii Tabeloversigt xv Figuroversigt xvii Forord


A Grundlggende L TEX A 3 Den forunderlige L TEXniske verden

19 Almindelig tekst 41 Introduktion til matematik


A L TEX-overbygning

79 Matematik p et hjere niveau 109 Om stningskonstruktioner 125 Om grak, ydende objekter og billedtekst 153 Om tabeller 185 Konstruktion af litteraturliste 213 Mere om tekst 251 Diverse

Strre projekter

277 Generel ndring af layout 291 Hndtering af strre projekter 301 Dokumentopstning med memoir-klassen 331 Gode rd

Appendices

337 Om generering af nye makroer 349 Nyttige metoder og konstruktioner


A 361 L TEX-distributioner samt andre redskaber

371 Om fejlmeddelelser 379 Kommentarer 389 Skabeloner 391 Litteratur og pakkeinformation 401 Stikordsregister

Indholdsfortegnelse

Kort oversigt . . . . Indholdsfortegnelse Tabeloversigt . . . . Figuroversigt . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

i iii xiii xv

Forord
Forord Emner som ikke gennemgs Indholdet af bogen . . . . . Om bogens syntaks . . . . Kommentarer til bogen . . . Takkeskrivelse . . . . . . . xvii xvii xviii xix xxi xxi

i denne bog . . . . . . . . . . . . . . . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

A Grundlggende L TEX

1 1.1

A Den forunderlige L TEXniske verden


A Kort introduktion til hvad L TEX er for en sk og hvordan man anvender systemet.

1.2 1.3

1.4 1.5 1.6

Introduktion . . . . . . . . . . . . . . . 1.1.1 Lidt historie . . . . . . . . . . A 1.1.2 Om udtalen af L TEX . . . . . . 1.1.3 Hvad er det s for noget? . . . A Hvor fr man L TEX fra? . . . . . . . . . Hvordan nder man hjlp? . . . . . . 1.3.1 Hvordan nder man manualen 1.3.2 Nr man skal sprge om hjlp 1.3.3 Minimalt eksempel . . . . . . A Om at udfre L TEX . . . . . . . . . . . Show us the code . . . . . . . . . . . . A L TEX-syntaks . . . . . . . . . . . . . . A 1.6.1 Lidt L TEX-terminologi . . . . . 1.6.2

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

. . . . . . . . . . . .

til pakken X?

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

3 3 4 4 5 5 5 6 7 7 7 10 11 12 14 15 15 16 17

Mange makroer kan godt lide (at spise) mellemrum 11

Dokumentklassen . . . . . . . . . . . . . . . . . . . . . . . . . . .

Nogle dokumentklasser 13

1.7 1.8

1.6.3 Preamblen . . . . 1.6.4 Selve dokumentet Nr noget er get galt . . Dansk opstning . . . . . 1.8.1 UTF8 . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .
iii

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

Indholdsfortegnelse

2 2.1

Almindelig tekst
A Hvordan man skriver almindelige tekstuelle konstruktioner i L TEX.

19 19

Tekstopdeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nyt afsnit 19 teksten 21

Afsnitsindrykning 20

Tvungen sideskift 20

Overskriftsopdeling af

2.2

2.3 2.4 2.5 2.6 2.7

2.8 2.9 2.10 3

Afsnitoverskrifter uden nummer 22 Tegnstning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Orddeling 22 Anfrselstegn 23 Streger 24 Streger og orddeling 25 Ligaturer 25 Tvungen mellemrum uden linieombrydning 26 Engelsk punktum og mellemrum 26 Ellipsis 27 Specialbogstaver og accenter 27 Tekstsymboler 28 Om fontvalg og -strrelser . . . . . . . . . . . . . . . . . . . . . . . . . . . Fontstrrelser 28 Skift af fontvariant 29 Fremhvning af tekst 31 Krydsreferencer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Fodnoter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Indholdsfortegnelse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Justering af tekst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Centrering 34 Venstre- / hjrejustering af tekstafsnit 35 Justering med indbygget orddeling 35 Citater 35 Lister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Punktopstilling 36 Nummereret liste 37 Beskrivende liste 38 Simpel indsttelse af titel, forfatternavn og dato . . . . . . . . . . . . . . Hvordan hndterer man URLer, stier og lnavne . . . . . . . . . . . . . . .
Introduktion til matematik
A Introducerende kapitel om grundlggende matematiske konstruktioner i L TEX. A Basisviden som alle L TEX-brugere br kende til.

22

28 31 33 33 34

36 38 39 41

3.1

A Matematik i L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Lidt syntaksregler i matematik mode . . . . . . . . . . . . . . . .

41 41

Mellemrum tller ikke 41 linieombrydning 42

Ingen danske vokaler i matematik

42

Begrnset automatisk
43 43 46 47 47 52 54

3.1.2 3.1.3

Tegnstning i matematik . . . . . . . . . . . . . . . . . . . . . . Fremhvet matematik . . . . . . . . . . . . . . . . . . . . . . . .

One-liners 43

Flerliniede formler

44

3.2

3.1.4 Formelnumre og krydsreferencer . . . . . . . . . . . . . . . . . . Symboler og operatorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Forskellige symboler . . . . . . . . . . . . . . . . . . . . . . . . .

Skrive over eller under en pil 51 Operatorsymboler . . . . . . . . . . . . . . . . . . . . . . . . . . . Matematiske fonte . . . . . . . . . . . . . . . . . . . . . . . . . . Skrive almindelig tekst i matematik-mode 55 Danske vokaler i matematik 55 Fed skrift
Pile 50

3.2.2 3.2.3

i matematik 56

3.3 3.4

3.2.4 Navngivne funktioner og operatorer . . . . . . . . . . . . 3.2.5 Navngivne mngder . . . . . . . . . . . . . . . . . . . . 3.2.6 . . . (prikker) . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.7 Matematiske accenter . . . . . . . . . . . . . . . . . . . Hegn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Om \left og \right 63 Varianten \middle 64 Om m-varianterne af \big. . . \Bigg Almindelige matematiske konstruktioner . . . . . . . . . . . . . .
Sub- og superscript 65 dulus

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

56 57 59 60 62 65

64

. . . . . Brker 66 Binomialkoefcienter 66 Rodfunktionen 67 Mo67 Aedt funktion 67 Om matricer 68 Gaffelfunktioner 71 Over/underbrace 72


iv

Indholdsfortegnelse

3.5

Restingering/evaluering af funktioner 73 Nogle almindelige hjemmelavede makroer . . . . . . . . . . . . . . . . . .


Grnser i ere lag 72 Diverse 74

73

A L TEX-overbygning

4 4.1

Matematik p et hjere niveau


Udvidet kapitel omkring matematiske konstruktioner og matematisk typogra.

79 79 79 79

Matematisk typogra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Hvor m man dele en formel? . . . . . . . . . . . . . . . . . . . . 4.1.2 Formelombrydning af matematik i teksten . . . . . . . . . . . . .
Hvad gr man nr man ikke kan f det til at passe? dele matematiske udtryk i teksten? 81 linieombrydning 82 81

A Hvor vil L TEX automatisk

Automatisk indsttelse af gangetegn ved

4.1.3

Formelombrydning i fremhvede formler . . . . . . . . . . . . . .

82 85 86 86 89 90 90 92 93 94 94

Opstilling af fremhvede (brudte)formler 83

4.2

4.1.4 Tegnstning i matematik . . . . . . . . . . . . . . . . . . . . . . Environments til fremhvet matematik . . . . . . . . . . . . . . . . . . . . 4.2.1 Alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Align 87

Alignat 87

Flalign

88

Kommentarer i alignment matematik

89

4.2.2 4.2.3 4.2.4


Split 91

Centreret erliniet matematik . . . . . . . . . . . . . . . . . . . . Multline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Varianter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Aligned

91

Alignedat

91

Gathered

92

4.3 4.4

4.2.5 Eksemplerne 4.5 til 4.18 p side 8385 4.2.6 Sideskift i fremhvet matematik . . . Ser du spgelser? . . . . . . . . . . . . . . . . . Kongurering af og leg med formelnummeret .
Fjernelse af formelnummer 94

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

Skrive noget andet i stedet for formelnummeret 95

Kongurering af hvordan formler nummereres 95 Undernummerering af formelnummer 96 refererede formler 97

t formelnummer til udregning 96 Flytte lidt p formelnummeret 96 Vis kun


97

4.5

4.6

4.7 4.8

AMS udvidelsen mathtools . . . . . . . . . . . . . . . . . . . . . . . . . . Justering vedrrende grnser p operatorer 97 Intelligente afgrnserfunktioner 98 Hvordan viser man kun refererede formler? 98 lgathered 99 Overlappe alignment 99 Ensbetyderpile mellem linierne i en beregning 99 Justering af indryk ved brudte formler 100 Andre 101 4.5.1 Pakken empheq . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Diagrammer i L TEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 Diagrammer med X -pic og \xymatrix . . . . . . . . . . . . . . . . Y 4.6.2 X -pic pile syntaks . . . . . . . . . . . . . . . . . . . . . . . . . . . Y Placering 102 Pilens udformning 103 Labels p pile 104 4.6.3 Prkompilering af diagrammer . . . . . . . . . . . . . . . . . . . 4.6.4 X -pic og Babel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y 4.6.5 X -pic diagrammer og formelnumre . . . . . . . . . . . . . . . . . Y 4.6.6 Andre X -pic tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y Andre interessante matematik-konstruktioner . . . . . . . . . . . . . . . . Konstruktioner man br kunne . . . . . . . . . . . . . . . . . . . . . . . . .
v

101 101 101 102 104 105 105 106 107 107

Indholdsfortegnelse

Om stningskonstruktioner
Brug af samt kongurering af stningskonstruktioner. Inkluderer blandt andet hvordan man laver ordentlige bevis-environments.

109

5.1 5.2

5.3

Konstruer en ny stning . . . . . . . . . . . . . . . . . . . . . Opstning af stningskonstruktioner med amsthm-pakken . 5.2.1 Almindelig brug af amsthm . . . . . . . . . . . . . . . 5.2.2 Beviser med amsthm . . . . . . . . . . . . . . . . . . Opstning af stningskongurationer med ntheorem-pakken 5.3.1 Kongurering . . . . . . . . . . . . . . . . . . . . . . 5.3.2 Theoremstyles . . . . . . . . . . . . . . . . . . . . .
Citering i stningsoverskrift 116

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

109 111 111 112 113 114 115 116 118 119 119 122 123 125

5.4

5.3.3 Slutmarkrer . . . . . . . . . . . . . . . . . . 5.3.4 Beviser med ntheorem . . . . . . . . . . . . . Andet godt med stningskonstruktioner . . . . . . . . 5.4.1 Stninger med ramme eller farvet baggrund 5.4.2 Konstruktioner som starter med en liste . . . 5.4.3 Mere om optimeringseksemplet . . . . . . . . Om grak, ydende objekter og billedtekst

. . . . . .

. . . . . .

. . . . . .

. . . . . .

Om inklusion af ekstern grak samt forklaring af konceptet bag begrebet oats. Desuden prsenteres konstruktioner til at anvende ere gurer samtidigt samt et kig p billedtekst (captions) og subgurer.

6.1

Inklusion af ekstern grak . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1.1 Billed/gur-konvertering . . . . . . . . . . . . . . . . . . . . . . .


EPS til PDF 126 SVG til EPS 127

125 126

JPG til EPS

127

PNG til EPS

127

MPS til EPS

127

PDF til EPS

127

128 130

Syntaks for inkludering af ekstern grak . . . . . . . . . . . . . . Yderligere konguration vedrrende grak . . . . . . . . . . . . . En kildel ere outputformater 130 METAPOST inklusion med pdatex 131 Kode til 6.1.2 6.1.3

6.2

6.3

6.4

At hente gurer fra andre biblioteker 132 6.1.4 Inkludere dele af andre dokumenter . . . . . . . . . . . . . . . . . Flydende objekter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Syntaks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.2 Algoritmen bag placeringen af ydende objekter . . . . . . . . . . 6.2.3 Her til og ikke lngere . . . . . . . . . . . . . . . . . . . . . . . . 6.2.4 Ikke-ydende oats . . . . . . . . . . . . . . . . . . . . . . . . . . Flere gurer p n gang . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flere gurer i samme oat 139 To gurer en billedtekst 139 To gurer ved siden af hinanden med hver deres billedtekst 140 To gurer ved siden af hinanden justering af billedtekst placering 140 Tekst ved siden af gur justering i toppen 141 Konguration af billedteksten . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Brug af pakken caption . . . . . . . . . . . . . . . . . . . . . . . . ndring af billedtekstens font og fontstrrelse 142 ndring af separatortegn 142 Bredden af caption 142 Mellemrum fr og efter billedtekst 143 En gur og en tabel i samme oat 144 Flere oats med samme nummer 145 6.4.2 Undernummerering af gurer subg . . . . . . . . . . . . . . . .
A A at tjekke for L TEX eller pdfL TEX 132

133 134 134 135 137 138 139

141 141

145 146

Flere oats under samme nummer 146

6.5

Andre grakrelaterede ting


At skrive tekst rundt om gurer der 147

. . . . . . . . . . . . . . . . . . . . . . . . . . 146 Rette p labels i EPS gurer 146 Baggrundsbille-

Figurer i landscape

147

6.6

Tips og tricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi

147

Indholdsfortegnelse

6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 7 7.1 7.2 7.3

At skrive ovenp inkluderede billeder Inklusion af scannede sider . . . . . Genstridige EPS-ler . . . . . . . . . Generering af EPS-ler eller croppede A Generering af grak til brug i L TEX .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A PDF-ler via L TEX . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

147 148 149 150 150 153

Om tabeller
Opstning af tabeller, specielt med henblik p pne datatabeller.

Guidelines vedr. opbygning af en (data)tabel En lserundersgelse . . . . . . . . . . . . Tabelsyntaks . . . . . . . . . . . . . . . . . 7.3.1 Flydende tabel . . . . . . . . . . . 7.3.2 Angivelse af sjlerne . . . . . . . . 7.3.3 Overskriftsceller . . . . . . . . . . . 7.3.4 Linier i tabeller . . . . . . . . . . .

7.4

7.5

7.6 7.7 7.8

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Booktabs makrosyntaks 162 Brug af fuldbredde-linier 163 Afbrudte linier Dataformatering . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.1 Automatisk decimaljustering med dcolumn-pakken . . 7.4.2 Kildekoden til tabel 7.2 . . . . . . . . . . . . . . . . . . 7.4.3 Dataformatering via pakken siunitx . . . . . . . . . . . Andre tabel-environments . . . . . . . . . . . . . . . . . . . . . 7.5.1 Tabularx tabel med fast bredde . . . . . . . . . . . . 7.5.2 Longtable tabel over ere sider . . . . . . . . . . . . ndre ved luft i tabeller . . . . . . . . . . . . . . . . . . . . . . Vertikal luft 174 Horisontal luft 174 Noter i tabeller . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.7.1 Threeparttable(x) . . . . . . . . . . . . . . . . . . . . . Ekstra bemrkninger . . . . . . . . . . . . . . . . . . . . . . . 7.8.1 Lade tabellen rage lidt ud i marginen . . . . . . . . . . 7.8.2 Tabeller eller gurer i landskabsorientering . . . . . . . 7.8.3 Brug af farver i tabeller . . . . . . . . . . . . . . . . . . 7.8.4 Data fra eksterne kilder . . . . . . . . . . . . . . . . . ATEX 182 Data fra CSV 182 Excel til L
Konstruktion af litteraturliste

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . .

153 155 156 157 157 161 162 164 164 166 167 170 170 171 174 176 176 178 178 179 181 182

163

185

Om citering af litteratur og hvordan man laver litteraturlister, bde i hnden samt autogenereret via BibTEX.

8.1 8.2

8.3

Citeringskonventioner . . . . Bibliograenvironmentet . . . 8.2.1 Citerings syntaks . . 8.2.2 Forfatter-r citeringer BibTeX . . . . . . . . . . . . . 8.3.1 Hvad er BibTeX? . . . 8.3.2 Forfatter-r citeringer
Pakkeoptions til natbib 191

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lavet uden BibTEX . . . . . . . . . . . . . . . . . . . . . .

. . . . . . med pakken natbib .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

185 185 185 187 187 187 189 192

8.4

Generering af BibTEX-database . . . . . . . . . . . . . . . . . . . . . . . .
Beskrivelse af format 192 URL i bibliograer 195

Syntaks for author-feltet 194

Specielt om titelfeltet 194

8.5

Bibliograstilarter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii

196

Indholdsfortegnelse

8.5.1

8.6

Danske oversttelser 198 BibTeX-stile kompatible med natbib Eksempler fra jurabib pakken 202 Andet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sortering af danske navne 204 Sprogproblemer ved brug af BibTEX 205 Online
Standardstile 197 pakken 199 reference databaser 205

Eksempler p BibTEX kongureringsler . . . . . . . . . . . . . .

196

204

8.7 8.8 8.9 9

. . . . . . . . . . . . . . . . . . . . . . . . . . . Kort om bibtopic 208 Hndtering af referencer databaser . . . . . . . . . . . . . . . . . . . . . . Jabref 210 RefWorks 210 Biblatex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Emneopdelt litteraturliste
Brug af pakken multibib 206

206 210 211 213

Mere om tekst
Gennemgang af ere forskellige tekst relaterede emner, s som fontvalg, fontstrrelser, justering af tekst, lister, farver samt kodefremvisning.

9.1

Lidt mere om afsnitsoverskrifter samt indholdsfortegnelsen . . . . . . . . 9.1.1 Om appendix/bilag . . . . . . . . . . . . . . . . . . . . . . . . . .


Appendices til et kapitel 214

213 213 215 215 216 216

9.2

9.3

Fodnoter og endnotes/slutnoter 9.2.1 Mere om fodnoter . . . 9.2.2 Endnotes/slutnoter . . Mere om orddeling . . . . . . .


Babel og orddeling 217 orddelinger 218

Bilag og appendiks 214 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

9.4 9.5 9.6

Orddeling ved bindestreg og skrstreg Undg orddeling 218 Teste efter sprog 218 ndring af standardnavne kontrolleret af babel . . . . . . . . . . . . . . Tekstfyld Lorem ipsum . . . . . . . . . . . . . . . . . . . . . . . . . . . Fontrelaterede emner . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.6.1 Fontvalg med matematiksupport . . . . . . . . . . . . . . . . . Computer Modern 221 Latin Modern 221 Times 222 Palatino 222 Utopia og fourier 223 New Century Schoolbook og fourier 223 Garamond 224 Concrete 224 9.6.2 Et par sans-serif skrifttyper . . . . . . . . . . . . . . . . . . . . . Computer Modern sans serif 224 Helvetika klon 225 Bera sans 225 9.6.3 Fast-bredde skrifttype (skrivemaskinefont) . . . . . . . . . . . . Computer Modern Typewriter 225 TX Typewriter 225 LuxiMono 225 BeraMono 226

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Mrkelige

. . . .

. . . .

. . . .

. . . .

219 219 220 220

. .

224 225

9.7

9.6.4 Vilkrlig fontstrrelse . . . . . . . . . . . . . . . . . . . 9.6.5 Strre linieafstand . . . . . . . . . . . . . . . . . . . . 9.6.6 At pille ved afstanden mellem bogstaver (letterspacing) Lister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.7.1 Flere lister med paralist-pakken . . . . . . . . . . . . .
Enumerate og itemize 229

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

226 226 227 228 229 230 234 234 235 237 239 239

Kompakte lister

229

En lbende liste

230

9.7.2

Avancerede standard lister med enumitem-pakken

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Kort oversigt over enumitem parametre 234

9.8 9.9 9.10

9.7.3 Egne listekonstruktioner . . . . . Brug af farver . . . . . . . . . . . . . . . . Udsende mange breve . . . . . . . . . . . A Fremvisning af tekst uden L TEX-fortolkning 9.10.1 Kildekode fremvisning . . . . . . 9.10.2 Lidt om listings . . . . . . . . . .
Opstning til SAS-udskrifter via listings 241

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

viii

Indholdsfortegnelse

9.11

Stikordsregister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.11.1 Generere indeksindgangene . . . . . . . . . . . . . . . . . . . . . 9.11.2 Sortere selve indekset . . . . . . . . . . . . . . . . . . . . . . . .


Sortering via makeindex 244

242 242 243 245 246 246 246 247 249 250 250 251

Sortering via texindy

245

9.12

9.13

Terminologiforklaring . . . . . . . . . . . . . . . . . . . . 9.12.1 Meget simpel symbolliste . . . . . . . . . . . . 9.12.2 Ikke helt s simpelt . . . . . . . . . . . . . . . . Terminologi- eller tegnforklaring (glossaries-pakken) . . 9.13.1 Data til ordlisten . . . . . . . . . . . . . . . . . 9.13.2 Brug i teksten . . . . . . . . . . . . . . . . . . . 9.13.3 Indsttelse af den formaterede terminologiliste 9.13.4 Eksempel . . . . . . . . . . . . . . . . . . . . . Diverse

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

10

Diverse emner som ikke helt falder indenfor nogen specik kategori, men vi kigger bl.a. p hndtering af enheder, noget kemi, slides og andre ting.

10.1

Formatering af tal, enheder og navngivne variable . . . . . . . . . . . . . . 10.1.1 Tal og enheder via siunitx . . . . . . . . . . . . . . . . . . . . . .
Formatering af tal 252 Formatering af enheder alene 252 Vrdier med enhed 253

251 251 256 256 257 258 259

10.2 10.3 10.4 10.5 10.6

Komma som separator i decimaltal . . . . . . . . . . . . . . . . . . . . . . Navngivne variable og enheder . . . . . . . . . . . . . . . . . . . . . . . .


Navngivne variable 256

Versionskontrol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Normalsider og anslag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Elektroniske slides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10.7 10.8

Opdeling af prsentationen 263 Animationer 264 Omvej 265 Transparenter 265 Statistik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Layers 262 Stninger 263 Handouts 264 Statistikprogrammer 267

267 268 271 271 271 273 273

Lidt fysik og kemi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Kemiske forbindelser 268 270

Grak til fysik, kemi og elektronik 10.9 Beskrivelse af algoritmer . . . . . . . . . . . . . . . 10.9.1 Brug af algpseudocode-pakken . . . . . . 10.9.2 Struktur konstruktioner . . . . . . . . . . . 10.9.3 Flydende algoritmer . . . . . . . . . . . . 10.10 Interne hyperlinks . . . . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

Strre projekter
11 11.1 11.2 Generel ndring af layout
A Kort om et par generelle metoder til at kunne styre noget af layoutet i L TEX

277 277 281

Opstning af marginer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B5 p A4 280

Sidehoved og -fod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Begrebet pagestyle 281

Justering af pagestyle med pakken fancyhdr 282

Standard-

klassernes problemer vedr. sidehoved og -fod 285

For lang headertekst


288

286

11.3 11.4

Indholdsfortegnelsen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
At f bibliogra og indeks med i ToC 288

287 288

Kongurering af ToC

Overskrifter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Afsnitstitler uden nummer men med i ToC 289

ix

Indholdsfortegnelse

12

Hndtering af strre projekter


Hvordan man hndterer projekter i ere ler, samt andre tips til behandlingen af store projekter.

291

12.1 12.2 12.3 12.4

Opdeling af kildekoden . . . . . . . . . . \input 291 \include 292 Master/hoved-len Ekskludering af dele af teksten . . . . . Arbejdskommentarer . . . . . . . . . . .
Pakken xme 295

. . . . . . . . . . . . . . . . . . .
293

291 294 295 297

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Pakken todonotes

297

At holde styr p labels og lignende . . . . . . . . . . . . . . . . . . . . . .


Vis indsatte og anvendte label- og citeringsngler 297 cer 298

Lidt smartere krydsreferen-

12.5 13

Referere til label fra et andet projekt . . . . . . . . . . . . . . . . . . . . . Dokumentopstning med memoir-klassen


Kort om hvilke dele en bog normalt er bygget op af og hvad de bestr af. Dernst en gennemgang af hvordan man kan justere layoutet til et speciale med memoir-klassen.

299 301

13.1 13.2

Pakker allerede inkluderet i memoir-klassen . . . . . . . . . . . . . . . . . Opbygningen af en bog . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Titelmateriale 302 Backmatter 304

301 302

IMF krav til forsiden 303

Frontmatter 303

. . . .

Mainmatter 304

. . . . . . . .
305 306 307 308 313 314 315

13.3

Specialelayout med memoir casestudy 13.3.1 Layoutformulering . . . . . . . 13.3.2 Dokumentets dimensioner . . . 13.3.3 Sidehoved og -fod . . . . . . . .
Opstning af marks 311

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

Hndtering af kapitaler i marks

312

13.3.4 13.3.5 13.3.6

Justering vedr. overskrifter . . . . . . . . . . . . . . . . . . . . . . Afsnitsnummerering og justering af indholdsfortegnelsen . . . . . Forside med memoir . . . . . . . . . . . . . . . . . . . . . . . . .

Louises forside 316

Strits forside

318

Centrering af forside i forhold til papiret

320

320 322 322 322 323 323

En kolofon bag p forsiden 320

13.3.7

Frontmatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13.4

Resum p ere sprog 321 13.3.8 Mainmatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.9 Backmatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.10 Eksempell for specialeopstning med memoir . . . . . . . . . . Omjustering af layoutet i forbindelse med andre typer strre opgaver . . . 13.4.1 Et par ideer vedr. ph.d.-afhandlinger . . . . . . . . . . . . . . . . Afhandling: Artikler samlet i samme dokument 323 Afhandling: Artikler inkluderet som PDF 324 Inklusion af PDF med en master som ikke tler pdatex 324 Pagestyle til
En dedikationsside 321 artikler i afhandling 325

13.5

13.4.2 Tanker omkring opstning af bachelorprojekter 13.4.3 Strre opgaver i gymnasiet . . . . . . . . . . . . 13.4.4 Tanker vedr. artikler til tidsskrifter . . . . . . . . Andre tricks man kan lave med memoir-klassen . . . . .
Automatisk fjernelse af sidetal 328 Appendix OG bilag 329 linie 330

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

325 326 327 327

Sidetal af formen side / total 328

F ordet Kapi-

tel eller Appendix med i indholdsfortegnelsen 328

Referere til en overskrift 330

Fjerne afstand i gur/tabelliste 328 Markere noget nyt via en blank


331

14

Gode rd
A Forskellige gode rd nr man skriver opgaver i L TEX.

Indholdsfortegnelse

14.1 14.2 14.3 14.4

Ddssynder . . . . . . . . . . . . . . . . . . . . . . . Vrd at huske mens man skriver . . . . . . . . . . . Vrd at huske nr man er ved at vre frdig med at Efter studierne er slut . . . . . . . . . . . . . . . . . .

. . . . . . . . . . skrive . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

331 332 332 334

Appendices
A A.1 Om generering af nye makroer
Generelt om hvordan man laver sine egne simple makroer, bde med og uden argumenter.

337 337

At lave sin egen makro . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


Navne p makroer 337

Makroer uden argumenter 338

Makroer med argumenter 339

Lave om p en allerede eksisterende makro 340

Lave en makro hvis den ikke ndes i

forvejen 340

Lave om p en makro mens man genbruger den gamle denition 341

. . . . . .
342 343 344 344 345 345 349

Makroer specielt til teksten 341

A.2 A.3 A.4 A.5 A.6 A.7 B B.1 B.2 B.3 B.4

Hvor glder ndringer af makroer, lngder etc.? . . Lave sit eget environment . . . . . . . . . . . . . . . Makronavne med @ . . . . . . . . . . . . . . . . . . Om at lave sin egen pakke . . . . . . . . . . . . . . . Makroer med avancerede argumenter . . . . . . . . Andre ting vrd at kende vedr. makroprogrammering Nyttige metoder og konstruktioner

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

Makroer og andre vrktjer man kan anvende i konstruktionen af nye makroer.

B.5

B.6 B.7 C C.1

Om lngder . . . . . . . . . . . . . . . . . . . . . B.1.1 Nyttige lngder . . . . . . . . . . . . . . Om tllere . . . . . . . . . . . . . . . . . . . . . B.2.1 Den graske reprsentation af en tller Betingedekonstruktioner (if-then) . . . . . . . . . Luftkasteller . . . . . . . . . . . . . . . . . . . . . B.4.1 Lodret . . . . . . . . . . . . . . . . . . . B.4.2 Vandret . . . . . . . . . . . . . . . . . . B.4.3 Elastiske konstruktioner . . . . . . . . . Kassetnkning . . . . . . . . . . . . . . . . . . . B.5.1 Kasser med linieombrydning . . . . . . . B.5.2 Inline kasser (uden linie ombrydning) . . Et par makroer fra graphicx-pakken . . . . . . . . Gemme/undersge indhold . . . . . . . . . . . .
A L TEX-distributioner samt andre redskaber

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

349 350 350 351 352 353 353 354 354 355 355 357 357 358 361

A Kort om L TEX-distributioner, editorer samt andre nyttige redskaber.

C.2 C.3

Linux . . . . . . . . . . . . . . . . . . C.1.1 Rigtige editorer p Linux . . C.1.2 WYSIWYG editorer p Linux C.1.3 Ekstra fremvisere p Linux . C.1.4 Andre redskaber p Linux . MAC OS X . . . . . . . . . . . . . . . Windows XP/Vista/7 . . . . . . . . . .
xi

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

361 362 363 363 364 364 365

Indholdsfortegnelse

C.3.1 C.3.2 C.3.3 C.3.4 C.3.5 C.3.6

MikTeX 2.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

365 366 366 368 368 369

ProTeXt installation 365

Justering efter installationen

365

TEX Live 2009 . . . . . . . . . . . . . . Rigtige editorer p Windows . . . . . . Fremvisere . . . . . . . . . . . . . . . . Sumatra PDF som fremviser i TeXMaker

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . eller TeXnicCenter . .

. . . .

. . . .

TeXMaker 368

TeXnicCenter

369

Andre redskaber

. . . . . . . . . . . . . . . . . . . . . . . . . . .

Printerdrivere 369

D D.1 D.2

Om fejlmeddelelser
En oversigt over relevante meddelelser, hvad de betyder og hvad man skal gre.

371 371 375 375 376

Fejlmeddelelser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Advarsler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D.2.1 Ikke helt s alvorlige advarsler . . . . . . . . . . . . . . . . . . . .


Font advarsler 375

Underfull advarsler

375

Advarsler som man br rette . . . . . . . . . . . . . . . . . . . . . Labels og citeringer 376 Den notoriske overfull \hbox 377 D.2.2 E Kommentarer
Nogle kommentarer som de interesserede kan tage et kig p, men som ikke helt passer i den almindelige tekst.

379

E.1 E.2 E.3

Intent to indent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hjlp min vejleder vil have min afhandling i Word! . . . . . . . . . . . . . Matematik bemrkninger . . . . . . . . . . . . . . . . . . . . . . . . . . .
381 Matematisk mellemrum mellem Forkert mellemrum efter \left( eller \big( 382 Makrobemrkninger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A Lidt om ltyperne anvendt af L TEX . . . . . . . . . . . . . . . . . . . . . Lidt om de pakker som anvendes til at lave denne bog . . . . . . . . . . Ordbog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pakker som ikke anbefales . . . . . . . . . . . . . . . . . . . . . . . . . . Lidt mere om align til hjre for lighedstegn symboler 381

379 380 381

E.4 E.5 E.6 E.7 E.8 F

. . . . .

382 383 384 386 387 389

Skabeloner
Skabeloner til lidt af hvert

Litteratur og pakkeinformation Stikordsregister

391 401

xii

Tabeloversigt

Tabel 1.1 Tabel 2.1 Tabel 2.2 Tabel 2.3 Tabel 2.4 Tabel 2.5 Tabel 2.6 Tabel 2.7 Tabel 3.1 Tabel 3.2 Tabel 3.3 Tabel 3.4 Tabel 3.5 Tabel 3.6 Tabel 3.7 Tabel 3.8 Tabel 3.9 Tabel 3.10 Tabel 3.11 Tabel 3.12 Tabel 3.13 Tabel 7.1 Tabel 7.2 Tabel 8.1 Tabel 9.1 Tabel 10.1 Tabel 10.2 Tabel 10.3 Tabel 10.4 Tabel B.1 Tabel B.2 Tabel B.3 Tabel B.4

Taster p tastaturet med speciel fortolkning. 10 Makroer til at lave afsnitsoverskrifter 21 AT X Anfrselstegn i L E 24 A Typograske streger i L TEX. 24 A Accenter og specialbogstaver i L TEX 27 Nogle tekstsymboler fra textcomp-pakken 28 A Fontstrrelser i L TEX 29 AT Xs metoder til skift af skrifttype variant. L E 30 Makroer til indsttelse af vandret mellemrum 42 Grske bogstaver 48 Nogle operatorsymboler 49 Nogle relationssymboler 49 Nogle inklusioner 49 Diverse symboler 50 Nogle forskellige pile-symboler 51 Nogle store symboler 53 Matematiske fonte 54 AT X Prdenerede navngivne operatorer i L E 56 A Dots i L TEX 60 Matematiske accenter 61 Indhegnings- og afgrnsersymboler 63 Almindelig nybegynder datatabel 155 Forsg p at lave en professionel udgave af Tabel 7.1. 155 Fordele og ulemper ved pakkerne multibib og bibtopic. 207 A Standardnavne i L TEX (engelske) 219 Nogle enheder 254 Enheds prexer 255 Nogle sammensatte og forkortede enheder (krver load-configurations=abbreviations)255 Predenerede potenser 255 A Lngdeenheder i L TEX 349 A Nyttige lngder i L TEX 351 Hjlpemakroer til at skrive vrdien af en tller. 352 S/M for tllere. 352

xiii

Figuroversigt

Figur 1.1 Figur 11.1 Figur 13.1 Figur 13.2 Figur 13.3

Speciel tast p et dansk tastatur 10 Oversigt over fortolkningen af options til geometry-pakken. 278 Oversigt over dkblad, bagsiden af denne, forside og forsiden af denne 302 Forsiden til Louises bachelorprojekt. 317 Forsiden til Strits speciale. 319

xv

Forord

A For de este er L TEX bare er et redskab i hverdagen, det er ikke noget man gider bruge alt for meget tid p at stte sig ind i eller flge med i udviklingen af. Dette er A selvflgelig meget forsteligt, man er ikke p universitetet for at lre L TEX, man er der for at arbejde. Dette har desvrre en kedelig bivirkning: Da man ikke flger med i udviklingen har man i stedet tendens til, at har man fet fat i en guide/introduktion til A L TEX, da holder man sig slavisk til konstruktionerne i denne. Man kommer s at sige A aldrig videre. Derfor er det altid sjovt at se nr folk nder ud af hvad L TEX faktisk kan, nr man lige ved hvordan. Ideen er derfor at idet lseren for de estes vedkommende kun kommer til at A anvende den/de note(r) de anvendte da de lrte at bruge L TEX, da skal denne note indeholde alt det skribenten har brug for (indenfor rimelighedens grnser). Det er derfor at denne bog er ca. 466 sider lang og at der er 624 nummererede eksempler. Men faktisk er det meningen at man skal supplere bogen med Wilson (2010) (manualen til dokumentklassen memoir , som anbefales til strre vrker) for s at kunne skrive (og kongurere), f.eks. et speciale, uden ret megen brug af ekstra bger eller pakkedokumentation.

Den nuvrende udgave af bogen er tredje udgave.1 Der er kommet en del ekstra ting med, og en hel del stave- og formuleringsfejl skulle nu vre rettet. Desuden er der blevet gjort en hel del for at forsge at gre bogen nemmere at forst, samt forklare tingene p en mere gennemskuelig mde. Skulle der vre ting som burde forklares bedre, er man velkommen til at sende en mail.
Emner som ikke gennemgs i denne bog
A Da hovedformlet med Introduktion til L TEX er rettet mod den trykte version af specialer og bachelorprojekter er der visse emner vi behandler i mindre detaljer end andre:

Hyperlinkede pdf-ler. Konstruktionerne er kort beskrevet i afsnit 10.10, men da emnet kan vre et ret kompliceret i visse tilflde, behandles dette kun overadisk. Elektroniske slides og prsentationer, vi har dog en mindre beskrivelse af den mest anvendte klasse til prsentationer (beamer ), se afsnit 10.6. Der er ogs emner som kan vre relevante, men som vi slet ikke behandler da der ikke er plads:
A Generering af (ekstern) grak til brug indenfor L TEX. Der er lavet en kort oversigt over et par muligheder i afsnit 6.6.5.

1 De frste to udgaver bestod af et alt for langt st slides, samt en omskrivning af disse.

xvii
Kapitlet er sidst opdateret 2010/10/29 21:13 (revision 736)

Forord

Avanceret makroprogrammering, det er til tider lidt en kunst i sig selv. Man lrer meget hen ad vejen samt ved at kigge i kildekoden til andre pakker og klasser.
A Bogen handler om brugen af L TEX, men ikke om selve anskaelsen, installationen og A vedligeholdelsen af en L TEX-installation. Dette er meget forskelligt fra distribution til distribution, s det ville fylde alt for meget, ls i stedet dokumentationen til den distribution man nu en gang har valgt at anvende. Vi har dog inkluderet nogle tips i Appendix C.

Indholdet af bogen
2

Bogen er bygget op i tre dele plus appendix, litteraturliste og indeks. A Frste del er I som er en introduktion til helt nye L TEX-brugere. Her vil de mest basale ting blive forklaret. Vi vil se lidt p hvordan man skriver almindelig tekst og A vi vil kigge p hvordan man skriver matematiske konstruktioner i L TEX. Indholdet af A disse kapitler anses for at vre standardviden og er derfor noget alle L TEX-skribenter br vide, hvad enten de er nybegyndere eller vede. Der er forskellige ting som ikke er inkluderede i den introducerende del, dette omfatter stningskonstruktioner (til stninger, denitioner, lemmaer m.m.), inklusion af grak, tabeller og litteraturliste. Forstelse for disse konstruktioner br vente til A man lige er blevet vant til syntaksen vi anvender indenfor L TEX.
A Anden del (II) er beregnet for brugere som nu har snuset lidt til L TEX. Hele den introducerende del anses nu for at vre noget man godt ved. Vi starter her med at kigge lidt mere p forskellige matematiske konstruktioner, startende med en gennemgang af anbefalinger til hvordan man linieombryder matematik. Kapitel 5 behandler konstruktioner til at lave stninger, lemmaer, osv. Desuden behandles forskellige mder hvorp man kan kongurere disse konstruktioner til ens egne behov. I kapitel 6 betragtes inklusion af ekstern grak samt hndtering af begrebet oats samt kongurering af caption (billedtekst). Kapitel 7 gr s over til tabeller, hvor vi for det frste gennemgr nogle af de muligheder man har vedrrende opstningen af en tabel, men forsger ogs at komme med gode rd om hvordan man br stte datatabeller op sledes de bliver pne at se p. Litteraturliste behandles i kapitel 8. Del II afsluttes med et ekstra kapitel omkring tekst (lister, fonte etc.) samt et diverse-kapitel med relevante ting som ikke rigtigt hrer til andre steder.

Tredje del (III) beskftiger sig med hndteringen af strre projekter. Lige fra et kig p generelle metoder til at justere p layoutet, over hvordan man strukturerer sit projekt p en smart mde, til hvordan man stter specialer og lignende op med klassen memoir . Dette afsluttende kapitel vil desuden kigge lidt p hvordan speciale opstningen kan ndres til at passe til bachelorprojekter samt studieretningsprojekter i gymnasiet.
2 FiXme Note: skriv dette afsnit om, det er ikke opbygget srligt godt

xviii
Kapitlet er sidst opdateret 2010/10/29 21:13 (revision 736)

Om bogens syntaks

Bogen afsluttes med nogle appendikser hvor isr Appendix A og Appendix F vil vre i lserens interesse. Den frste forklarer hvordan man laver sine egne simple makroer. F.eks. anbefaler vi at nr man f.eks. anvender den samme matematiske mngde mange gange, s br man lave en makro til at skrive den med, s er det nemmere at bde skrive teksten samt justere senere. Det andet appendix er skabeloner til forskellige ting, disse kan alle downloades hvilket vi forklarer mere om i afsnittet . Appendix D br man ogs kende til, der nder man en gennemgang af en masse A fejlmeddelelser og advarsler man vil komme ud for i L TEX.
Om bogens syntaks
3 A Selve L TEX-syntaksen bliver forklaret senere i bogen, her er kort om de konventioner vi har valgt at anvende i bogen. Alle kode eksempler er sat med en fastbredde skrifttype. I en syntaksomtale er selve makronavnene skrevet med samme skrifttype. Her indgr ofte termen tekst , som betyder at her skal man (mske) selv indstte noget. Tit vil tekst vre erstattet af en mere sigende tekststump. Et tnkt eksempel kunne vre:

\foo[

valgfrit argument ]{ obligatorisk argument }

A Som demonstrerer en makro \foo og mden hvorp man i L TEX angiver et obligatorisk 4 og et valgfrit argument. Visse ord, termer og isr makronavne er blevet markeret i teksten for skelne dem fra resten. Disse ord er til tider gentaget i marginen. Eksempelvis formateres pakkenavne som: pakkenavn, hvor navnet her er gentaget i den ydre margin. Ofte vil disse termer vre at nde i indekset.5 Til fremvisning af (kode)eksempler anvender vi varianter af:
Et eksempel.

pakkenavn

Et eksempel.

Eksempel 0.1

hvor man har kildekoden til eksemplet p venstre side og resultatet i kassen til hjre. Dette kan varieres sledes at vi f.eks. kun har kode delen (ofte anvendt til at fremvise kongurationsmuligheder) eller kun resultatet (med eller uden kasse). Eventuelt kan koden og kassen stables, hvis situationen krver det, i dette tilflde kan eksemplet deles mellem de to dele. Desuden kan kildekoden i visse tilflde strkke sig over ere sider (anvendes primrt nr vi nr til skabeloner). Nsten alle eksempler (med kode) har et nummer og overskriften Eksempel placeret i den ydre margin. Der er yderligere to fremvisningstyper mrket hhv. Kodetip og Skabelon, disse er altid kode. Eksempelkonstruktionen har en sster som vi ser herunder.
\usepackage{mflogo}
slut preamble

METAPOST

Eksempel 0.2

\MP

3 FiXme Note: forklares bedre 4 Valgfrit begyder i denne henseende at \foo[]{ tekst } er det samme som \foo{ tekst }, det er alts valgfrit

om man nsker at tage den med.

5 Makroen som anvendes til at skrive disse navne srger nemlig automatisk for at de ogs indekseres.

xix
Kapitlet er sidst opdateret 2010/10/29 21:13 (revision 736)

Forord

Her er tale om eksempler, hvor lseren skal skrive noget i sin preamble hvilket er det som str ovenover stregen:
slut preamble

Det som str under linien (hvis der er noget) skal brugeren s placere i det indre af sit dokument (i.e. efter \begin{document}). Rent teknisk bliver disse eksempler faktisk lavet via eksterne ler det som str i eksemplet gemmes i en ekstern l, preambledelen placeres i preamblen og teksten under stregen placeres i kroppen af dokumentet. Dette dokument bliver herefter oversat og omdannet til et billede som er det resultat man ser. Ved visse eksempler ser man kun det som skal skrives i preamblen. Eksemplerne (og lignende) markeres som det ses i marginen med en overskrift og et nummer. Hvis der under nummeret str symbolet

s betyder det, at man kan downloade kildekoden til dette eksempel via
http://www.imf.au.dk/system/latex/bog/eksempler/

Man skal bare lede efter len Eksempel- nummer .tex, Kodetip- nummer .tex eller Skabelon- nummer .tex. Hvis man lser PDF-udgaven af bogen skal man bare trykke p , s skulle man (hvis PDF-fremviseren er kongureret til det) automatisk blive frt til den rigtige l. P denne mde er man fri for selv at skulle skrive en strre mngde kode af fra bogen (rart hvis der i koden er anvendt symboler man ikke er vant til). Hvis der er tale om et kodetip og der ved siden af str symbolet

betyder det at denne makro kan man ogs f adgang til ved at installere pakken
dltxbcodetips

dlfltxbcodetips

s er man fri for at skulle kopiere kode. Pakken kan hentes fra
http://www.imf.au.dk/system/latex/lokale-pakker/

eller via ctan.6 Henvisninger til ting p ctan skrives p formen ctan: sti , som s skal opfattes som http://www.ctan.org/tex-archive sti , dermed skal CTAN: /macros/latex/contrib/dltxb/ skal lses som URLen
http://www.ctan.org/tex-archive/macros/latex/contrib/dlfltxb/

I PDF-udgaven af bogen er disse URLer aktive og peger det rigtige sted hen. Bemrk desuden at vi fra tid til anden vil fremhve brugen af mellemrum i et eksempel. Dette markeres traditionelt via symbolet . Forskellige kommentarer bliver sat i en gr kasse. Disse kasser kan fortstte hen over et sideskift. Hvad kommentaren handler om, fremgr oftest af titlen p kassen. Dette kan vre bemrkninger, tips, advarsler etc.
Sidebemrkning.

6 http://www.ctan.org, det centrale register for L T X-pakker og andre godbidder. AE

xx
Kapitlet er sidst opdateret 2010/10/29 21:13 (revision 736)

Kommentarer til bogen

Kigger man i resten af bogen, vil man se at vi anbefaler brugen af memoir klassen. I mange tilflde er noget af den funktionalitet vi beskriver direkte en del af memoir . For at gre dette mere tydeligt rammer vi dette ind i en kasse af denne type.
Memoir.

Kommentarer til bogen

Kommentarer og forslag modtages gerne p


daleif+latex@imf.au.dk

Bemrk at jeg skriver alts linie med i og ikke med j, dette er en stille protest og dermed ikke en fejl! I den version du sidder og lser netop nu, nder man fodnoter p visse underlige stedet som her 7 , dette er noter til mig som om noget som skal kses. De bliver stille og roligt fjernet hen ad vejen.8
Sidebemrkning.

Takkeskrivelse

Der er selvflgelig nogle mennesker der skal takkes i forbindelse med et sdant projekt. Enhver som p en eller anden mde bidrager til bogen (om det s bare er relevante bemrkninger eller rapporter om stavefejl) br naturligvis takkes. I alfabetisk rkkeflge:
Chadi Abdel-Halim, Hans Harho Andersen, Henrik Brix Andersen, Camilla Mondrup Andreassen, Qaim Ali Bakhsh, Jakob Blaavand, Michel Bovani, Christian Bruun-Ghalbia, Jeppe Brnsted, Preben Blsild, Lennart Borregaard, Jonas Bklund, David Carlisle, Peter Christensen, Kaja Christiansen, Johan Clausen, Jules Colding, Ole Dalsgaard, Ulrich Diez, Simon Laing Ebbensgaard, Jens Kristian Egsgaard, Brian Elmegaard, Mikkel Kamstrup Erlandsen, Sren Galatius, Per Graa, Jrgen Granfeldt, Enrico Gregorio, Henrik Christian Grove, Rasmus Handberg, Kim Granly Hansen, Sveinung Heggen, Martin Heller, Karl Ove Hufthammer, Mikkel Hgh, Morten Hgholm, Jens Kusk Block Jacobsen, Jonatan Jakobsen, Mads Jensen, Marie strit Jensen (nu Janussen), Morten Juhl Johansen, Arne Jrgensen, Anders Kock, Morten Keblovszki, Jesper Kjr, Johan Kraft, Jonas Klker, Mogens Larsen, Thomas Alexander Lassen, Ole Laursen, Bo Lind, Emil Hedevang Lohse, Enrico Gregorio, Matias Langgaard Madsen, Birger Nielsen, Rasmus T. Nielsen, Jonas Nyrup, Heiko Oberdiek, Morten Ovi, Igor Pechtchanski, Helge Mller Pedersen, Jrn Skoven Pedersen, Lars Petersen, Markus Petersen, Lan Thuy Pham, Poul Riis, Will Robertson, Jan Rolandsen, Joachim Schrod, Jens Siegstad, Henrik Stetkr, Mads Srensen, Jean C. B. Thomsen, Louise Pold Thomsen, Jrgen Vesterstrm, Jes Vestervang, Lasse Vilhelmsen, Rasmus Villemoes, Thorbjrn Falk Villesen, Peter Wilson, Jakob Wrigley, Vegard ye, Christian Aastrup,

Andre:
8 I den nyeste version af fixme fungerer margin noter ikke videre godt, s jeg mtte skifte til at markere med

foodnoter.

xxi

Forord

Center (og det senere Netvrk) for Matematisk Fysik og Stokastik (MaPhySto), T.N. Thiele Centret for Anvendt Matematik i Naturvidenskaberne, Center for Topologien og Kvanticering af Modulirum (CTQM), Institut for Matematiske Fag Aarhus Universitet, brugerne p nyhedsgrupperne comp.text.tex og dk.edb.tekst, brugerne af DK-TUGs mailingliste, brugerA ne af L TEX-forummerne p http://www.studieportalen.dk samt http://eksperten.dk.

Lars daleif Madsen 2. november 2010

xxii

A Grundlggende L TEX

Frste Kapitel

A Den forunderlige L TEXniske verden


1.1 Introduktion

A Lad os starte med en gang for alle at forklare hvad L TEX er og hvad det isr ikke er.

1.1.1

Lidt historie

A Historien bag L TEX gr faktisk helt tilbage til midten af halvfjerdserne hvor professor Donald E. Knuth (bermt matematiker og datalogipioner) begyndte arbejdet p TEX A (som er det system L TEX bygger ovenp). Knuth var generelt utilfreds med den typograske kvalitet forlagene/journalerne leverede nr de skulle tryke hans artikler og bger.

The worst of it was the spacing, the way the letters would jam up against each other, Knuth says. It was like if you took every letter and you wiggled it and made some of them go up and some of them go down. It wasnt randomit was systematically bad. Because the letters in some words got smooshed together, it gave them the illusion of being darker than the others. The eye is naturally drawn toward dark spots, so the readers focus would jump all over the page. By 1976, when it was time to print a second edition of Volume 2, Knuth could no longer stand to look at his own work, and he felt that other scientists were getting a similarly raw deal. We didnt want our papers just to be there, we wanted them to be beautiful, he protests. I wouldnt have wanted to write The Art of Computer Programming if it was going to look ugly. citeret fra
http://www.stanfordalumni.org/news/ magazine/2006/mayjun/features/knuth.html

Knuths lsning p problemet var makroprogrammet TEX og fontsystemet METAFONT.1 Arbejdet tog over 10 r, involverede blandt andet studier i godt typogrask design, se Knuth (1986). Det kan desvrre vre meget bvlet at arbejde i ren TEX (ogs kendt som plain TEX) s i midten af rserne samlede Leslie Lamport en hel masse nyttige makroer, han mente folk sikkert ville kunne f brug for. Denne samling blev prkompileret (dvs. s TEXs oversttelse af disse makroer bliver hurtigere) til et skaldt format, i dette tilflde A A kaldet L TEX. S, nr man anvender L TEX s anvender man faktisk en TEX-variant hvor AT X. L T X-formatet og alle de ekstra makrosamlinger man har prloadet formatet L E A E A (udover L TEX-formatet) man kan f til det, har s udviklet sig lige siden midten af rserne. A A Hovedudviklingen af selve L TEX-formatet varetages i dag af det skaldte L TEXprojekt (http://www.latex-project.org). Dog ndrer man ikke s meget ved selve A L TEX-formatet lngere (pga. kompatibilitet), i stedet kommer de este udvidelser i dag via pakker, dvs. samlinger af makroer, som man selv indlser i sit dokument, s str det brugeren frit for at anvende de ekstra makrosamlinger han/hun har brug for. A A Da L TEX bare er et format oven p TEX, vil vi anvende TEX og L TEX i ng i resten af bogen.
1 METAFONT ses ikke s meget mere, men der er stadig en del fonte p ctan skrevet i METAFONT.

3
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

A 1. Den forunderlige L TEXniske verden

1.1.2

A Om udtalen af L TEX

A De este nybegyndere (eller andre uforstende) udtaler L TEX som lateks. I vores tilflde er den sproglige udtale dog noget anderledes. Donald Knuth skriver selv om navnet i (Knuth, 1986, side 1):

English words like technology stem from a Greek root beginning with the letters . . . ; and this same Greek word means art as well as technology. Hence the name TEX, which is an uppercase form of .
A Da kan udtales som et k, udtaler vi L TEX som la'tek, ofte med tryk p sidste stavelse. Andre (ofte engelsksprogede) steder anvender man en ch-lyd i udtalen (som i loch), alts latech eller laytech. Bare s lnge man ikke kalder det lateks s er det nt nok. A A I L TEX-dokumenter kan man skrive TEX via \TeX og L TEX via \LaTeX. Andre steder skriver man almindeligvis LaTeX for at indikere en forskel i forhold til gummimaterialet som staves med de samme bogstaver.

1.1.3
2

Hvad er det s for noget?

Tja, TEX er i ordets bogstaveligste forstand et tekstbehandlingsprogram. Det tager en tekst som input, behandler denne og giver en formateret tekst som output.
Fint nok, det gr de este tekstbehandlingsprogrammer, hvad er forskellen?
A A Sammenligner man L TEX med f.eks. Word eller OpenOce.org s er L TEX langt mere skrabet. Det er nemlig kun tekstbehandling, faktisk er det engelske ord typesetting A mere rammende, thi det er netop dette L TEX gr, stter teksten op som en gammeldages trykker ville gre det (dog rent digitalt). A L TEX har ingen stavekontrol, ingen indbygget editor, ingen WYSIWYG3 , ingen indbygget versionskontrol, intet indbygget tegneprogram, ingen database, man kan A A ikke printe fra L TEX . . . L TEX er kun tekstbehandlingen intet andet. Man kan selvflgelig sprge om dette ikke er lidt lidt? Nej, faktisk ikke. Filosoen er naturligvis, at brugeren skal have lov til at anvende de redigeringsvrktjer han/hun kan lide at anvende, brugeren skal ikke tvinges til at anvende et bestemt vrktj. Der ndes masser af programmer som hndterer de nvnte opgaver til UG, s det er ikke noget A L TEX har brug for selv at skulle rode med (det er der mange andre mere kompetente mennesker som gr for os). Vi skal ikke her komme ind p hvilke programmer man s ellers kan anvende. A A Hvad er der s af ulemper ved L TEX? Det er ikke nogen hemmelighed at L TEX er A lidt svrt at lre og lre at vnne sig til. L TEX lgger sig meget tt op af hvad der er god typogra, dette er de este ikke vant til. S er der visse ting man har vret vant til at s p som nu skal ares igen fordi dette ikke er god typogra. Har man anvendt A L TEX i noget tid kan man blive overflsom overfor drlig typogra. Det er f.eks. meget A nemt at se nr en artikel i en (matematisk) journal ikke er skrevet med L TEX. Fordelene kan vre svre at f til at give mening hvis man ikke er vant til at arbejde A med L TEX.

2 FiXme Ddelige: SKAL skrives bedre 3 What You See Is What You Get.

4
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

A Hvor fr man L TEX fra?

A L TEX er gratis! Man kan bruge det til hvad man har lyst, hvor man har lyst og med hvad man nu har lyst. A Vi arbejder i ren tekst og L TEX-oversttelsen lser kun fra vores dokument, det ndrer ikke ved det. Sker der en fejl kan man altid redde sig selv. A L TEX-brugere er normalt meget venligt og hjlper gerne andre brugere i nd. A Dette med at L TEX-dokumenter er i ren tekst, gr det meget nemt at vre ere om at skrive p samme projekt. Hvilket ikke altid er lige nemt med f.eks. Word.

1.2

A Hvor fr man L TEX fra?

A I denne bog er det ikke vores opgave at diktere hvilken L TEX-distribution man skal anvende (der er dog steder hvor der ikke er noget strre valg), ej heller hvilken man editor man skal gre brug af. Det er helt i nden bag TEX, op til lseren selv at bestemme. Frygt dog ikke, vi har lagt nogle nogle rd og forslag i Appendix C.

Er man Windows bruger og har installeret MikTeX (enten fra http: //www.miktex.org eller via ProTeXt) s er det meget vigtigt at man lser afsnit C.3.1, thi MikTeX aktiverer ikke de danske orddelinger. Det er ret nemt at kse ved bare at stte et ueben det rigtige sted.
Advarsel 1.1.

1.3
1.3.1

Hvordan nder man hjlp?


Hvordan nder man manualen til pakken X?

Str man og skal bruge manualen til en bestemt pakke eller klasse s er det nemmeste oftest at nde den p ctan. Bare g til http://www.ctan.org/search.html#byName og sg efter pakkenavnet. Her vil man oftest kunne nde en PDF-l eller lignende. Husk at manualen man nder p ctan, nemt kan vre til en nyere version af pakken end den man selv har installeret p sit system.
Sidebemrkning 1.2.

I mange tilflde vil manualen ogs vre at nde p din egen maskine. P vores Linux system kan man f.eks. sige
texdoc memman

og fr s vist Wilson (2010) frem fra disken. Det strste problem i denne forbindelse er at man ikke altid kan gtte hvad manualen faktisk hedder. Desvrre er der ere projekter som simpelthen kalder deres manualer for manual.pdf, dette er man dog stille og roligt ved at rydde op i. Til nogle pakker vil man ikke kunne nde noget manualinformation til p ctan. En sgning vil ofte bare forklare hvor .sty-len bender sig. Har er der oftest to muligheder: 1. Pakken er en del af et strre projekt, tjek hvor du er blevet sendt hen p ctan. F.eks. vil en sgning efter pakken pgfpages sende os til CTAN: /graphics/pgf/base/latex/ pgf/utilities/, s her ville det vre naturligt at kigge i manualen til PGF (som rigtigt nok indeholder informationen om pakken, se Tantau (2007), afsnit 36.
5
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

A 1. Den forunderlige L TEXniske verden

2. Den anden mulighed er at informationerne om hvordan man anvender pakken, i stedet str i selve .sty-len. Dette ser man ved nogle pakkeforfattere. Her bner man bare .sty-len med en almindelig teksteditor (pas p ikke at ndre noget i len).

1.3.2

Nr man skal sprge om hjlp

A Fr eller siden kommer alle (!) L TEX-brugere ud p s dybt vand at de fr brug for hjlp A fra andre. Heldigvis er L TEX-brugere almindeligvis et meget hjlpsomt folkefrd, s er der mange steder man kan sge hjlp. A Finde ud af om der er en i din egen organisation som ved mere om L TEX end du selv gr, henvend dig s til vedkommende (men lad vre med at udnytte det til trivialiteter).

P dansk er der ere fora som man kan henvende sig til Dansk TEX-brugergruppe har en mailingliste/nyhedsgruppe, som alle er velkomne til at tilmelde sig (man behver ikke vre medlem). Se http: //www.tug.dk/mailingliste. A Nyhedsgruppen dk.edb.tekst anvendes tit til L TEXniske sprgsml. A P http://www.eksperten.dk kan man nde et forum til L TEX, se http:// www.eksperten.dk/spm/Programmer/Tekstbehandl/TeX/. A StudiePortalen har ogs et L TEX-forum som isr kan vre interessant for folk i gymnasiet, se http://www.studieportalen.dk/Forums/Threads.aspx? id=26. P udenlandsk er det vigtigste forum, nyhedsgruppen comp.text.tex. Det er ret godt sted at sge efter lsninger, husk man skal sge p Google Groups, resultater fra grupperne kommer ikke med i Googles almindeliges sgninger. Er man mere til fora s er http://www.latex-community.org et besg vrd. Det er ogs vrd at tage et kig i http://www.tex.ac.uk/cgi-bin/texfaq2html? introduction=yes, der str rigtigt mange gode lsninger, desvrre er sgningen p siden ikke altid optimal. For at andre skal kunne yde den bedste hjlp er det en god ide at lre at stille sprgsml p den rigtige mde. Det er ret svrt at hjlpe med sprgsml s som mit dokument er get i ged hjlp!! Et godt stillet sprgsml er kendetegnet ved at (i) man forklarer hvad det er man gerne vil opn, gerne p en sdan mde at andre kan forst hvad det er man gerne vil. (ii) har man prvet at kode noget, men har fet en fejl, s begrns dokumentet (evt. under et nyt navn) til et minimalt eksempel (se afsnit 1.3.3) og inkluder dette sammen med dit sprgsml. Dette gr det meget nemmere at lse problemet, thi andre kan enten reproducere problemet p deres eget system, eller hurtigt se hvad problemet er.

6
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

Minimalt eksempel

1.3.3
4

Minimalt eksempel

Nr man stiller sprgsml gennem/p diverse medier/fora s vil man hurtigt opdage at man bliver bedt om at stille med et minimalt eksempel. Basalt set er et minimalt eksempel, et fuldt dokument med \documentclass, samt \begin{document} og \end{document} samt det minimalt antal pakker og tekst (og lignende) der skal til for at genskabe fejlen. Det nemmeste er ofte at man f.eks. kopierer helt sig dokument over i en anden folder, giver den et nyt navn og s stille og roligt fjerner pakker, kongurationer, tekst fra dokumentet mens man srger for at fejlen stadigvk er til stede. P denne mde nder man faktisk ofte selv fejlen og en Google sgning (i Google Groups) kan tit give svaret. Det vigtigste i denne forbindelse er at kunne lave et minimalt eksempel som illustrerer problemet. Faktisk er dette en rigtig god velse, idet man ofte nder selve problemet gennem denne velse, og i mange tilflde nder man ogs selv lsningen. En meget simpel instruktion nder man via dette link: http://www.tex. ac.uk/cgi-bin/texfaq2html?label=minxampl, en lidt bedre forklaring ndes via http: //www.minimalbeispiel.de/mini-en.html. I korte trk er ideen at man laver et nyt dokument, tag evt. en kopi af det problematiske dokument (evt. placeret i et andet bibliotek, for ikke at forstyrre det problematiske dokument).
A I det flgende antages det, at man har en fungerende L TEX-installation og at man ved hvordan ens valgte editor virker (primrt hvilken knap eller tastatur-kombination man skal anvende for at kre latex eller pdflatex). I de flgende par eksempler vil vi A dog frst beskrive hvordan man kan overstte et L TEX-dokument, uden at kompilere direkte fra editoren, fordelen ved denne viden er naturligvis at skulle noget g helt galt med editoren s kan man altid ty til en kommandolinieprompt for at overstte sit dokument.

1.4

A Om at udfre L TEX

A Forvirrende nok er der faktisk to(!?) L TEX-programmer som man som bruger skal stifte A A bekendskab med. Vi kalder dem almindelig L TEX og pdfL TEX. Den sidste vil oplagt ende ud med en PDF-l, og det er ogs den de este vil bruge det meste af tiden. A Almindelig L TEX spytter en skaldt DVI-l ud, denne kan fremvises med dertil indrettede programmer, eller den kan konverteres til PostScript via dvips. Denne kan igen fremvises (f.eks. med gsview p windows eller evince p Linux) eller konverteres til PDF via ps2pdf. A Langt det meste af det vi skal se i denne bog fungerer uden problemer i pdfL TEX. De f steder hvor der er forskel skal vi nok srge for at uddybe. A A Faktisk er der ikke den store forskel mellem almindelig L TEX og pdfL TEX, det er nemlig samme program (pdftexk) som ligger bag, s man skal ikke blive forskrkket A hvis man under almindelig L TEX pludselig ser pdftexk nvnt i log-len.

1.5

Show us the code

Lad os lgge blidt ud og starte med at se p hvordan man fr et lsbart resultat ud A af L TEX. Herefter vil vi forklare lidt mere om hvad de enkelte ting er. Tag din favorit
4 FiXme Note: skrives bedre

7
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

A 1. Den forunderlige L TEXniske verden

teksteditor og gem flgende som eks1.tex (eller hvis du er doven, s download det via linket eller via bogens hjemmeside):
Eksempel 1.1
\documentclass[a4paper]{article} \usepackage[latin1]{inputenc} \usepackage[danish]{babel} \usepackage[T1]{fontenc} \usepackage{amsmath,amssymb} \begin{document} Hej verden her er jeg og her er lidt matematik $\sum f(n)$ og noget fremhvet \begin{equation} \frac{1}{3}\int_0^b f(x)\,dx \end{equation} \end{document}

G nu til en kommandoprompt (et terminalvindue eller en DOS-prompt hvis man benytter Windows) og overst nu denne kildel med5 via
pdatex

pdflatex eks1.tex

Programmet vil nu skrive en masse tekst i vinduet, sikkert i stil med:


tmp> pdflatex eks1.tex This is pdfTeXk, Version 3.1415926-1.40.9 (Web2C 7.5.7) %&-line parsing enabled. entering extended mode (./eks1.tex LaTeX2e <2005/12/01> Babel <v3.8l> and hyphenation patterns for english, usenglishmax, dumylang, noh yphenation, german-x-2008-06-18, ngerman-x-2008-06-18, ancientgreek, ibycus, ar abic, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danish, dutc h, esperanto, estonian, farsi, finnish, french, galician, german, ngerman, mono greek, greek, hungarian, icelandic, indonesian, interlingua, irish, italian, la tin, lithuanian, mongolian, mongolian2a, bokmal, nynorsk, polish, portuguese, r omanian, russian, sanskrit, serbian, slovak, slovenian, spanish, swedish, turki sh, ukenglish, ukrainian, uppersorbian, welsh, loaded. (/vol/packages/TL/2008/texmf-dist/tex/latex/base/article.cls Document Class: article 2005/09/16 v1.4f Standard LaTeX document class (/vol/packages/TL/2008/texmf-dist/tex/latex/base/size10.clo)) (/vol/packages/TL/2008/texmf-dist/tex/latex/base/inputenc.sty (/vol/packages/TL/2008/texmf-dist/tex/latex/base/latin1.def)) (/vol/packages/TL/2008/texmf-dist/tex/generic/babel/babel.sty (/vol/packages/TL/2008/texmf-dist/tex/generic/babel/danish.ldf (/vol/packages/TL/2008/texmf-dist/tex/generic/babel/babel.def))) (/vol/packages/TL/2008/texmf-dist/tex/latex/base/fontenc.sty (/vol/packages/TL/2008/texmf-dist/tex/latex/base/t1enc.def)) (/vol/packages/TL/2008/texmf-dist/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?' option. (/vol/packages/TL/2008/texmf-dist/tex/latex/amsmath/amstext.sty (/vol/packages/TL/2008/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/vol/packages/TL/2008/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/vol/packages/TL/2008/texmf-dist/tex/latex/amsmath/amsopn.sty)) (/vol/packages/TL/2008/texmf-dist/tex/latex/amsfonts/amssymb.sty (/vol/packages/TL/2008/texmf-dist/tex/latex/amsfonts/amsfonts.sty)) No file eks1.aux. (/vol/packages/TL/2008/texmf-dist/tex/latex/amsfonts/umsa.fd) (/vol/packages/TL/2008/texmf-dist/tex/latex/amsfonts/umsb.fd) [1{/vol/packages/ TL/2008/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] (./eks1.aux) ){/vol/pack ages/TL/2008/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t1.enc}</vol/packages /TL/2008/texmf-dist/fonts/type1/bluesky/cm/cmex10.pfb></vol/packages/TL/2008/te

5 De este editorer har en knap man bare skal trykke p. Det bedes man dog undlade i dette tilflde. Dette A med at kunne overstte et L TEX-dokument gennem DOS eller en terminal, er vigtig at kunne, idet man s

altid har noget at g tilbage til, hvis der er get noget helt galt med ens editor. Efter man har lrt at anvenA de en kommandoprompt, kan man sagtens g over til at overstte L TEX dokumentet direkte fra sin editor, hvilket ogs er meget nemmere.

8
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

Show us the code

xmf-dist/fonts/type1/bluesky/cm/cmmi10.pfb></vol/packages/TL/2008/texmf-dist/fo nts/type1/bluesky/cm/cmmi7.pfb></vol/packages/TL/2008/texmf-dist/fonts/type1/bl uesky/cm/cmr10.pfb></vol/packages/TL/2008/texmf-dist/fonts/type1/bluesky/cm/cmr 7.pfb></vol/packages/TL/2008/texmf-dist/fonts/type1/public/cm-super/sfrm1000.pf b> Output written on eks1.pdf (1 page, 28652 bytes). Transcript written on eks1.log.

A Her kan vi til slut se, at L TEX har skrevet sit output til eks1.pdf og den har lavet en .log-l med yderligere information (ud over det den skrev ovenfor). PDF-len kan s fremvises med

Adobe Reader, alle platforme6 Sumatra PDF, Windows (denne anbefales p det kraftigste), Foxit, Windows Kpdf, Xpdf, Evince, Linux P MAC har den mest anvendte editor TeXShop sin egen indbyggede PDF-fremviser. Det samme har den nye TeXWorks editor som ndes til alle platforme. A Havde man i stedet anvendt almindelig L TEX via
latex eks1.tex
latex

fr man en lignende besked, men ender alts op med en DVI-l. Dette kan vises frem eller konverteres til PostScript via
dvips eks1.dvi
[27]:~/tmp> dvips eks1.dvi This is dvips(k) 5.94b Copyright 2004 Radical Eye Software (www.radicaleye.com) ' TeX output 2005.02.21:0855' -> eks1.ps <tex.pro><cm-super-t1.enc><texps.pro>. <cmr7.pfb><cmmi7.pfb><cmr10.pfb> <cmmi10.pfb><cmex10.pfb><sfrm1000.pfb>[1]

dvips

Her er det vigtige, at resultatet bliver skrevet til eks1.ps. Denne kan s fremvises med f.eks. gv (ghostview) p Linux og gsview32 p Windows. En PostScript-l kan konverteres til PDF via ps2pdf (som en del af GhostScript) eller (hvis man har adgang til programmet) Adobe Distiller. Resultatet skulle gerne ligne flgende plus et sidetal (som her er fjernet af pladshensyn).
Hej verden her er jeg og her er lidt matematik 1 3
b 0

gv ghostview gsview32 ps2pdf

f (n) og noget fremhvet (1)

Eksempel 1.2

f (x) dx

A Af ovenstende fremgr det, at fremgangsmden ved L TEX er, at man frst skriver sin AT X nu anvender og herefter fr et latex-program tekst i det specielle format som L E til at fortolke det. Frst da, kan man f lov til at se resultatet af det man har skrevet. Dette er noget som forvirrer de este, men har man vnnet sig til det er det faktisk meget rart, for man koncentrerer sig mere om det man skal skrive end om hvordan det skal se ud. Hvis man desuden srger for at lre de mest almindelige genveje til sin editor, s gr det faktisk ret strkt.
6 Adobe Reader, er god til at vise ting frem, men ikke god i det daglige arbejde, den bruger rigtigt meget

hukommelse og kan ikke genindlse PDF-ler. Vi anbefaler derfor alternative PDF-fremvisere til det daglige arbejde.

9
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

A 1. Den forunderlige L TEXniske verden

1.6

A L TEX-syntaks

A Ud fra Eksempel 1.1 man kan se, at indenfor L TEX har visse tegn en speciel betydning. Dette inkluderer \, $ og { }. Der er ti af disse tegn, se tabel 1.1.

Tabel 1.1: Taster p tastaturet med speciel fortolkning samt hvordan man s skriver disse tegn hvis man har brug for selve tegnet.

Tegn
\ $ # % & ~ _ ^ { }

Erstatninga
\backslashb \# \% \& \textbackslash, \$, \textdollar

Kommentar anvendes i starten af (nsten) alle makronavne anvendes i par omkring tekstmatematik angiver argumenter i makrodenitioner kommentartegn, resten af linien inklusive % ignoreres adskiller sjler i tabeller og alignment tie, non-breakable space angiver subscript i matematik angiver superscript i matematik (accent-hat forklares senere) anvendes om argumenter

\textasciitildec \_, \textunderscored \textasciicircum \{ \}

a dvs. det som skal skrives hvis man nsker at skrive dette tegn direkte. b anvendes i matematikmode, se desuden \setminus. c skal man i matematik anvende er det et helt andet tegn (\sim), selve tegnet ~ m dog gerne d skal man skrive navnet p en l, og dette navn indeholder _ da br man anvende \url eller
\path

anvendes indeni \url, se afsnit 2.10. fra url-pakken.

Et andet tegn som kan volde nogen problemer er tegnet ` indenfor computerverdenen ofte kaldet back ping (teknisk set er det en accent-grave), hvor ' (apostrof) kaldes ping. Tegnet ` ndes p et amerikansk tastatur p tasten lige under ESC-tasten. Mens det er mere problematisk p et dansk tastatur. P et dansk tastatur er tegnet ` den verste accent p tasten med de to accenter (ligger i nrheden af Backspace). Tasten kan se ud som p gur 1.1.

Figur 1.1: Tast p et dansk tastatur, accent-grave (ogs kendt som back-ping) er det verste accenttegn.

apostrof

Trls for os, er denne tast aktiv i den danske tastaturopstning, dvs. trykker man ` og derefter a s fr man tegnet . S hvis man direkte nsker tegnet ` skal man p et dansk tastatur trykke ` efterfulgt af mellemrum. Desuden skal det lige bemrkes at accenten fundet nederst p ovennvnte tast, ikke er apostrof ! Apostrof ndes ved siden af Enter/Return. Det nedeste tegn p gur 1.1 A (accent-grave) anvendes ikke direkte i L TEX, men med den rette opstning kan man A nt anvende den til f.eks. at lave -tegnet uden brug af L TEX-koder. Tegnet ` (back-ping eller accent-grave) vil man stde ind i to steder i denne bog. Frste gang er konstruktionen \`e som giver , alts en speciel mde at f skrevet et accenttegn p. Det andet sted er i et specielt kodeeksempel i afsnit 4.5.
10
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

A Lidt L TEX-terminologi

1.6.1
7

A Lidt L TEX-terminologi

Lad os vende tilbage til Eksempel 1.1 og forklare lidt om den terminologi vi anvender: Sekvenser af typen \ navn kaldes makroer eller kommandoer, en undtagelse er parret \begin{ navn }. . . \end{ navn } som udgr et environment. Materiale skrevet inden i { } vil oftest fortolkes som et argument til en eller anden kommando. Hvis der i en specikation af brugen af en makro f.eks. str \foo{ tekst } betyder det, at \foo tager tekst som argument. Hvis en makro i en oversigt er skrevet som \foo{...} s betyder det at \foo tager et obligatorisk argument og de krllede parenteser er i dette tilflde pkrvet. Indholdet kan dog vre tomt. Nogle makroer/environments tager argumenter andre gr ikke. Environments kan sagtens tage obligatoriske og valgfri argumenter (se nste punkt), klassiske eksempler er environmentet thebibliography (se afsnit 8.2) eller oaten gure (se afsnit 6.2). Et lidt mere eksotisk eksempel p brugen af { } som argumenter er til f.eks. superscript/hvet skrift $x^{y+z}$ hvilket giver xy+z , her er {y+z} argument A til makroen bestende af tegnet ^ (internt vil L TEX erstatte ^ med et mere almindeligt makronavn). Til tider vil man ogs se {} anvendt enten stende efter makroer som egentlig ikke tager noget argument (se Eksempel 1.3 for et klassisk eksempel). Man kan dog ogs se et par af krllede parenteser st omkring noget uden at blive fortolket som et argument. Et klassisk eksempel er {\bfseries ...}. Her er { }-parret blevet anvendt som afskrmning. Det er dog ikke noget vi vil gre s meget brug af. Argumenter kan ogs til tider angives i et [ ]-par disse kaldes valgfri argumenter eller options, se evt. eksempel 1.1, linie 1. Om disse glder, at det er ekstra argumenter som man ikke ndvendigvis behver anvende. Desuden er \foo[] (ofte) det samme, som \foo. Visse konstruktioner kan endda anvende () til at angive argumenter. Se f.eks. Eksempel 7.13. Omrdet mellem \documentclass... og \begin{document} kaldes preamble (linie 16 i Eksempel 1.1). Omrdet mellem \begin{document} og \end{document} (alts indenfor environmentet document) kaldes selve dokumentet eller body.
A Al tekst efter \end{document} ignoreres af L TEX.
makroer environment argument

valgfri argumenter

preamble

Mange makroer kan godt lide (at spise) mellemrum

Man br vre opmrksom p flgende interessante feature som ses ved de este A L TEX-makroer der ikke tager noget obligatorisk argument.

7 FiXme Ddelige: skriv dette mere forsteligt

11
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

A 1. Den forunderlige L TEXniske verden

Eksempel 1.3

Nr man skriver \LaTeX makroen \verb+\LaTeX+ al

spiser

mellemrummet op til det nste ord. Dette kan fikses via \LaTeX{} x, eller \LaTeX\ x eller {\LaTeX} x.

\LaTeX

A Nr man skriver L TEXspiser makroen al mellemrummet op til det nA ste ord. Dette kan kses via L TEX x, eller A A L TEX x eller L TEX x.

Man skal alts i disse sammenhnge huske at tage sig sine forholdsregler. Problemet ses dog kun i den almindelige tekst, i det alle mellemrum i matematik-mode automatisk ignoreres.
1.6.2
\documentclass

Dokumentklassen

A Frste linie i et L TEX-dokument er normalt \documentclass og argumentet til denne er s den anvendte dokumentklasse. Dokumentklassen srger for at stte et standard layout op, med hensyn til marginer, fontstrrelser, ekstra makroer og lignende. Det er det man mske ville kalde en basisskabelon. Dokumentklassen tilbyder ofte diverse kongurationsmuligheder, kaldet options, som vil ndre den mde dokumentet opfrer sig p. Disse options afhnger naturligvis af hvilken dokumentklasse man har valgt, men klassen inkluderer som oftest punkterne p nedenstende liste.

a4paper

denne option skal altid anvendes! Standardopstning er det amerikanske letter papirformat hvilket man ikke anvender i Europa.
10pt

standardstrrelsen af tekstskrifttypen.
11pt

giver tekstfontstrrelse p 11 pt.


12pt

tilsvarende for 12 pt.


leqno

formelnumre til venstre.


reqno

formelnumre til hjre, dette er normalt standarden.


eqn

vil venstrejustere al fremhvet matematik i stedet for at centrere den.


onecolumn

gt selv hvad denne gr, dette er standarden.


twocolumn

gt selv. Ting vedrrende dokumenter i ere sjler er ikke noget vi behandler i denne bog.8
oneside

standard i visse klasser. Anvendes nr resultatet skal trykkes enkeltsidet.


twoside

til dobbeltsidet tryk, standard i f.eks. book og memoir . Dette bevirker at hjre- og venstremarginer automatisk byttes om p alle venstresider. Bemrk, at det er printeren som skal srge for at lave dobbeltsidet tryk og det er brugerens eget ansvar at srge for at fortlle printeren dette.
8 Se ogs pakken multicol.

12
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

Nogle dokumentklasser

openright

hvis klassen understtter \chapter, betyder denne, at kapitlerne starter p en hjreside. Denne er standard i book- og memoir -klassen.
openany

igen hvis \chapter ndes, betyder denne, at kapitler starter p nstflgende side uanset om det er en hjre- eller en venstreside. Denne er standard i report-klassen. Almindeligvis vil alle options man giver dokumentklassen ogs blive givet til alle de pakker man anvender (hvad enten de anvender den eller ej). Dette er faktisk meget smart idet man p denne mde kan give en flles option til mange pakker p en gang. Et eksempel kan vre sprogoptionen danish (som babel jo reagerer p, men det gr varioref ogs). S kan man alts njes med
Tip 1.3.
\documentclass[a4paper,danish,...]{...} \usepackage{babel} \usepackage{varioref} ...

Eksempel 1.4

Nogle dokumentklasser
A L TEX kommer med re standardklasser: article, report9 , book9 og letter 10 . Almindeligvis kan man anvende article til opgaver og lignende. Standardklasserne er desvrre ikke videre eksible, s nr man nsker at ndre noget bliver man ofte ndt til at loade en pakke (forklares nedenfor) og vide hvordan denne pakke fungerer. En anden mulighed er at anvende nogle mere kongurerbare klasser. Der er to systemer som kan anbefales memoir samt klasserne fra KOMAbundtet. Jeg gr selv kraftigt brug af den frste og det er ogs den som anbefales gennem bogen.

memoir

Meget stor og veldokumenteret klasse. Umiddelbart en aser til book, man kan ogs sagtens kongureres til at ligne report og endda article. Se Wilson (2010), Wilson (2007a) samt Madsen (2008b) og Madsen (2003).11
scrartcl

Aser til article. Del af KOMA-bundtet.


scrbook

Aser til book. Del af KOMA-bundtet.


scrlettr2
A Aser til letter . Denne anbefales hvis man nsker at skrive breve i L TEX. Del af KOMA-bundtet.

scrreprt

Aser til report. Del af KOMA-bundtet.


9 report og book ligner hinanden en hel del. 10 Denne kan anvendes til breve, omtales ikke nrmere. Oftest vil scrlttr2 vre et meget mere kongurerbart

valg.
11 Lser man resten af bogen vil man se at undertegnede er ret glad for memoir , men er ogs en smule forudindtaget, da det er undertegnede som vedligeholder memoir .

13
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

A 1. Den forunderlige L TEXniske verden

For en brugervejledning i brugen af KOMA klasserne se Kohm og Morawski (2006). Mange journaler indenfor fysik anbefaler klassen revtex4. Flles for alle klasserne er naturligvis at man br lse de relevante manualer.
1.6.3
12

Preamblen

pakker
\usepackage

Selve preamblen anvendes til at tilfje ekstra makroer eller hele samlinger af disse skaldte pakker. Pakker inkluderes i dokumentet via
\usepackage[

options ]{ pakkenavn(e) }

inputenc babel fontenc amsmath amssymb


Eksempel 1.5

Eksempel 1.1 viser de fem standardpakker, man altid kommer til at anvende (se desuden afsnit 1.8):
\usepackage[latin1]{inputenc} \usepackage[danish]{babel} \usepackage[T1]{fontenc} \usepackage{amsmath,amssymb}

UTF8

I stedet for latin1 anvendes ansinew, hvis man anvender Windows samt applemac for MAC. Nyere Linux-systemer gemmer teksten i utf8. Vi vil foreklare lidt mere om uft8 i afsnit 1.8.1. I de este henseende kan WinXP-brugere sagtens anvende latin1, da placeringen af , og er ens i ansinew og latin1.
Sidebemrkning 1.4.

Den frste pakke i oversigten srger for, at vi m skrive , og (og andre specialtegn) direkte i kildekoden uden at skulle anvende specialkonstruktioner (se evt. Tabel 2.4). Den anden giver dansk opstning af specielle ord og lignende, aktiverer desuden de danske orddelingsmnstre (se desuden afsnit 2.2 samt afsnit 9.3). Pakken fontenc hjlper bl.a. med orddelingen ved , og , desuden ndes visse fonte kun i encodningen T1. De sidste to pakker giver bedre matematikopstning. Vi skal senere se p hvordan man laver sine egne simple makroer (se appendix A).

12 FiXme Note: dette br opdateres pga. TW default til utf8, og andre editorer som ikke kan utf8

14
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

Selve dokumentet

1.6.4

Selve dokumentet

Imellem \begin{document} og \end{document} skriver man alts sit dokument. Der glder den specielle feature, at alt efter \end{document} ignoreres. Dette kan f.eks. vre nyttigt nr man forsger at lokalisere fejl i ens dokument. Man indstter s bare \end{document} og prver at overstte igen.
Tip 1.5.

Hvad man ellers skriver her, kommer vi til i kapitel 2 og frem.


1.7 Nr noget er get galt

Der er ingen som skriver perfekt kode, s man vil altid kunne komme ud for problemer ved oversttelsen mellem kildekoden og outputtet. Derfor er det meget nyttigt at lre A hvordan man debugger et L TEX-dokument nr der opstr en fejl. Den strste kilde til problemer for en nybegynder (og andre) er nr man staver makronavne forkert. Prv f.eks. at gemme flgende som eks2.tex og kr det igennem A L TEX.
\documentclass[a4paper]{article} \begin{document} hmm \foo virker ikke \end{document}

Eksempel 1.6

hvilket giver
daleif@daleif:~/tmp/mb> latex eks2.tex This is TeX, Version 3.14159 (Web2C 7.3.7x) (./eks2.tex LaTeX2e <2001/06/01> Babel <v3.7h> and hyphenation patterns for english, dumylang, nohyphenation, da nish, ukenglish, loaded. (/usr/TeX/texmf/tex/latex/base/article.cls Document Class: article 2001/04/21 v1.4e Standard LaTeX document class (/usr/TeX/texmf/tex/latex/base/size10.clo)) No file eks2.aux. ! Undefined control sequence. l.3 hmm \foo virker ikke ?

A L TEX fortller her, at der er en kontrolsekvens (en makro), som den ikke kender (Undened) og denne bender sig p linie 3 i eks2.tex. For at komme videre med oversttelsen kan man taste:

x for at stoppe oversttelsen her. S kan man rette fejlen og starte oversttelsen igen. h for at f hjlp (hvis der er nogen). q for at fortstte oversttelsen og ignorere alle fejl.
A RETURN/ENTER for at lade L TEX lave et (intelligent) forslag og lade kompileringen

fortstte, s kan man rette fejlen senere. Anvendes desuden hvis man bare nsker at ignorere denne fejl, mske fordi man ikke lige selv kan nde ud af at rette fejlen.

I eksemplet er makroen \foo naturligvis problemet da der ikke automatisk ndes en makro med dette navn.
15
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

A 1. Den forunderlige L TEXniske verden

A Bemrk at mange L TEX-kapable teksteditorer overstter A teksten sledes at L TEX ikke stopper ved fejl, men editoren vlger s bagefter at gre A opmrksom p at der var en fatal fejl i den og den linie. (L TEX har forskellige modes den kan kre i, noget vi ikke behandler nrmere i denne bog.)

Sidebemrkning 1.6.

A Det at kunne afkode en L TEX-fejl kan godt vre lidt af en kunst i sig selv, men det er noget de este kan lre. Desuden er de este fejl ofte selvindlysende. Om ikke andet er A her en kort lille guide til hvordan man debugger et L TEX-dokument, som ikke lngere vil oversttes korrekt. A (i) Kig p hvad det er L TEX siger der er galt. Kan man ikke lige gennemskue betydningen af selve fejlmeddelelsen, kan man forsge at sl den op i Appendix D, hvor man nder en lang liste (med forklaringer) over de mest almindelige fejlmeddelelser. A (ii) Sammen med fejlmeddelelsen fortller L TEX desuden hvilken linie (sdan cirka) hvor fejlen opstod. Anvend dette til at kunne g tilbage til kildekode for at lokalisere fejlen. A Her skal bemrkes at man br holde je med hvilken l L TEX for jeblikket 13 Dette kan man se i outputtet (eller i .log-len) som er i gang med at overstte. f.eks.

(./introduktion.tex [12
A dvs. her har L TEX bnet len introduktion.tex og er get i gang med at skrive side 12 i outputtet. En fejl i introduktion.tex vil s fremst som en fejl p linie 230 i introduktion.tex. Men man skal selv holde je med hvilken l der er tale om. (Dette er dog noget visse editorer kan hjlpe med.) (iii) Kan man slet ikke overskue hvad i al verden det er som er get galt, kan man begynde at eksperimentere med at indstte \end{document} p udvalgte steder i teksten. Vi husker jo at alt efter \end{document} bliver ignoreret, s hvis en ny-placeret \end{document} fjerner fejlen, s ved vi at fejlen kommer efter \end{document}-placeringen i kildekoden. Har man gang i en inkluderet l (se afsnit 12.1) s kan man ogs anvende \endinput i stedet for \end{document}. (iv) Kan man slet ikke nde problemet, s kan man udkommentere de problematiske omrde og arbejde videre med sit dokument, og nr man s har tid til det, kan man sprge en ven eller en lokal TEX-guru. Har man ikke lige sdan en p hnden kan man sprge p DK-TUGs mailingliste (som ogs kan anvendes som nyhedsgruppe, se http://www.tug.dk/mailingliste), eller p nyhedsgrupperne dk.edb.tekst eller comp.text.tex.

\end{document}

1.8

Dansk opstning

A Nr man nu er begyndt at eksperimentere med at skrive L TEX-kode14 kommer man ogs til det punkt, hvor man prver at skrive , , , eller direkte fra tastaturet. Til ens

13 Man kan sagtens opdele sit projekt i ere ler se afsnit 12.1. 14 Hvilket jeg hber, man er begyndt p.

16
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

UTF8

store overraskelse vil man opdage at disse (hvis man ikke har taget sine forholdsregler) A bliver ignoreret. Dette skyldes, at L TEX traditionelt blev udviklet i USA hvor man jo ikke havde brug for disse tegn. I stedet lavede Knuth forskellige makroer til at konstruere disse tegn. Eksempelvis kan , og skrives via \ae, \o og \aa. Heldigvis for os var der andre europere, som syntes dette var bvlet, s man har A i dag lavet en udvidelse (pakke), som srger for, at L TEX selv internt kan overstte A tegnet til noget, den forstr. Prisen for dette er, at man skal fortlle L TEX, hvilket system (inputencoding) man arbejder p (idet forskellige systemer desvrre koder specialtegn forskelligt). Alt i alt bliver den gode opstning for danskere, at man skal altid huske flgende re linier
\usepackage[latin1]{inputenc} \usepackage[danish]{babel} \renewcommand{\danishhyphenmins}{22} % bedre orddeling \usepackage[T1]{fontenc}

\ae () \o () \aa ()

inputenc babel fontenc


Eksempel 1.7

Hvor en Windows-bruger skal anvende ansinew i stedet for latin1 og en MACbruger skal anvende applemac. Desuden skal man naturligvis huske a4paper som option til dokumentklassen (hvis det senere er meningen at det skal kunne printes).
Sidebemrkning 1.7.

ansinew latin1 applemac

Nogle bemrkninger:

(a) I de este henseende kan WinXP-brugere sagtens anvende latin1, da placeringen af , og er ens i ansinew og latin1.
A A (b) Det skal bemrkes at i visse L TEX-distributioner s er L TEXs standardskrifttype en skaldt bitmapfont, dvs. kanterne af bogstaverne er ikke ydende hvis man f.eks. forstrrer teksten meget kraftigt i Adobe Reader. Skulle man komme ud for dette kan man anvende pakken lmodern. Dette erstatter standard fonten (Computer Modern) med skrifttypen Latin Modern som er en ny font, kraftigt inspireret af CM og kommer kun som en skalerbar font. Med tiden er det meningen at Latin Modern kommer til at blive standard A skrifttypen i L TEX.

lmodern

(c) Linien
\renewcommand{\danishhyphenmins}{22}

Gr at der som minimum skal blive to tegn p linien ved orddeling og minimum yttes to tegn ned p nste linie. Desvrre er vrdien anvendt af babel 12, hvilket kan give orddelingen h-vor.

1.8.1

UTF8

P mange moderne Linux systemer er standard tekstformatet uft8, hvilket ikke altid er lige nemt at arbejde med.15 Efter en lngere diskussion er vi blevet enige om at anbefale flgende nr man anvender UTF8 som inputencoding i sin editor:

15 P IMF har vi omkongureret alle vore servere til at anvende Latin1 i stedet. Man kan ogs helt vlge at

omkongurere sin editor til at anvende Latin1 selv om man normalt arbejder p et UTF8-system.

17
Kapitlet er sidst opdateret 2010/09/21 00:58 (revision 721)

A 1. Den forunderlige L TEXniske verden

Eksempel 1.8

\usepackage[utf8]{inputenc}

A Forudsat at man har en L TEX-distribution som ikke har ere r p bagen. S skulle man uden problemer kunne anvende de almindelige specialtegn i UTF8. Der er naturligvis ikke tale om en unicode implementation, s UTF8 kongureringen giver kun adgang til de tegn som inputenc i forvejen giver adgang til. Man skal dog stadigvk huske at almindelig bibtex ikke kan hndtere UTF8. Dog skulle bibtex8 faktisk kunne (med den rette kongurering). Det er dog ikke noget vi gr mere ud af her i bogen.

18

Andet Kapitel

Almindelig tekst
Dette kapitel handler kort om behandlingen af den almindelige tekst, tegnstning, specialtegn, skift af fontvariant og lignende. Vi skal i et senere kapitel komme med nogle ekstra kommentarer som ligger lidt over niveauet i dette kapitel. Kapitlet er introducerende vedr. behandlingen af tekst, og er den grundlggende vide alle br kende til. I Kapitel 9 fortstter vi med ere tekstrelaterede emner, som A forudstter et vist kendskab til L TEX, bl.a. vedr. fonte.
2.1 Tekstopdeling

Nr man skriver i de este teksteditorer og kommer til hjre kant af editoren (eller hvad den nu er kongureret til) s vil editoren ofte automatisk g til en ny linie og skrive videre der. I de este tilflde vil editoren bryde linien ved et mellemrum sledes at den tekst man har er nem at lse. Dette automatiske editorindsatte linieskift betyder A intet for outputtet fra L TEX (lige som i HTML).
Hvis man bare manuelt skifter linie i kildekoden sker der ikke noget i det resultat man fr ud.

Hvis man bare manuelt skifter linie i kildekoden sker der ikke noget i det resultat man fr ud.

Eksempel 2.1

Nyt afsnit

P dansk har begrebet afsnit tilsyneladende to betydninger. Vi har betydningen nyt afsnit, hvilket tilsyneladende deneres som en samling af stninger i en samlet sammenhng. Nr man s starter p noget nyt starter man p et nyt afsnit. Her starter vi s p et nyt afsnit, idet den anden betydning af afsnit anvendes ofte nr man nsker at henvise til navngivne steder i en tekst. Man kunne ogs kalde det for et tekstafsnit (det har jeg dog aldrig hrt nogen gre i daglig tale). Vi er f.eks. i underafsnittet 2.1 i det nummererede afsnit 2.1. A Et nyt afsnit i kildekoden, markeres i L TEX ved at indstte en eller ere blanke linier.
Noget tekst, bla bla en blank linie som starter et nyt afsnit.

Noget tekst, bla bla en blank linie som starter et nyt afsnit.

Eksempel 2.2

Starten p det nste afsnit i outputtet vil s automatisk blive indenteret.


Sidebemrkning 2.1. Det er en europisk tradition, at man markerer et nyt afsnit ved indrykning og ingen ekstra afstand mellem afsnit. Det er desuden den opstning de este typograske bger anbefaler. Se desuden afsnit E.1.
19
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

2. Almindelig tekst

Traditionen man ser i Word, med at der er afstand mellem afsnit, br man holde sig fra. Det tjener ikke noget forml i forbindelse med forstelsen af teksten og kan i mange tilflde endda virke forvirrende. Det eneste sted, hvor det er umiddelbart normalt at have afstand mellem afsnit, er i breve (her srger de forskellige brevklasser (f.eks. letter eller bedre scrlttr2) automatisk for at denne konguration kommer med). Afstand mellem afsnit kan naturligvis ogs anvendes i meget specialiserede publikationer, ssom madopskrifter og lyrik. Til f.eks. bachelorprojekter og specialer giver det ingen mening, specielt ikke hvis dokumentet indeholder fremhvet matematik. Man kan sagtens anvende en blank linie eller lignende til at markere starten p noget nyt. Man skal bare ikke indstte luft mellem alle afsnit i teksten. I denne bog anvendes en lidt speciel konstruktion som memoir -klassen (som vi kraftigt anbefaler) stiller til rdighed. Den er cirka lig med
Sidebemrkning 2.2.
Eksempel 2.3
\fancybreak{$*\quad*\quad*$} % krver memoir klassen

Makroen vil enten efterlade en blank linie eller indstte den angivne tekst midt p linien og afsnittet efter vil ikke blive indenteret. Et eksempel kan ses p side xxi. Bemrk at koden til \fancybreak er ret nemt at kopiere fra kildekoden til memoir klassen.

Afsnitsindrykning

\noindent

Som nvnt indrykkes nyt afsnit automatisk. Skulle det ske at dette ikke lige var det som var meningen kan man starte linien med \noindent. Det er muligt helt at fjerne denne indentering, men det anbefales kun til breve (i de specielle brevklasser er indenteringen automatisk sat til nul) eller f.eks. lyrik. Anvendelsen af \noindent vil oftest komme p tale i forbindelse med tekst efter environments som af en eller anden grund gerne vil have at teksten efter environmentet starter et nyt afsnit (hvilket ofte ikke er ndvendigt).
Sidebemrkning 2.3. Jeg havde p et tidspunkt en bruger som klagede over, at i vedkommendes dokument var stort set hver eneste stning indenteret. Det viste sig at vre fordi denne skribent, af overskuelighedsmssige rsager, havde indsat en masse blanke linier rundt omkring i teksten. Moralen er her, hvis man nsker at indstte blanke linier i sin kode for at gre den mere overskuelig, s skal man huske at starte disse blanke linier med et %-tegn, s A ignoreres linien af L TEX og forstyrrer ikke noget.

Tvungen sideskift
\newpage

\clearpage \cleardoublepage

Man kan fremtvinge en ny side via den benlyse makro \newpage. Der er dog visse naturlige steder hvor denne makro ikke virker, eksempelvis midt i noget fremhvet matematik, hvor man s i stedet kan anvende andre teknikker, se eksempelvis afsnit 4.2.6. Der er desuden to ekstra makroer som virker lidt p samme mde som \newpage, nemlig \clearpage og \cleardoublepage. De har begge ogs indydelse p placeringen af skaldte ydende gurer (oats, se afsnit 6.2). Alt efter hvilken dokumentklasse man
20
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

Overskriftsopdeling af teksten

anvender og hvordan dokumentet ellers er kongureret vil \cleardoublepage desuden srge for at teksten efter, frst starter p den nste hjreside. Konstruktionen som anvendes til at starte et nyt kapitel, anvender internt \cleardoublepage.
Overskriftsopdeling af teksten

Strre samlinger af afsnit, giver man ofte en overskrift som i mange tilflde vil vre nummereret. A A En af fordelene ved L TEX, som mske ikke bliver nvnt s tit er at L TEX lgger op til en opdeling mellem tekst og layout. Lidt p samme mde som html med css. Som skribent skal man bare srge for at skrive teksten, man skal ikke rode med layoutmssige aspekter undervejs. Dette betyder naturligvis ogs at man heller ikke skal begynde at konstruere sine egne afsnitsoverskrifter, den slags har man makroer til at tage sig af. A Overskrifter i L TEX skrives via en af makroerne som kan ses i Tabel 2.1.
Tabel 2.1: Makroer til at lave afsnitsoverskrifter

tekst } tekst }a \section{ tekst }


\part{ \chapter{

tekst } tekst } \paragraph{ tekst } \subparagraph{ tekst }b


\subsection{ \subsubsection{

a Findes ikke i article-klassen og lignende. b Anvendes sjldent.

I Eksempel 2.4 nder man et simpelt eksempel p brugen af dette, lavet via articleklassen. Man observerer at kommandoerne \section\subsubsection automatisk

\section{En sektion} tekst \subsection{En undersektion} \subsection{En undersektion mere} tekst \subsubsection{En underundersektion} \section{En ny sektion} \subsection{En ny undersektion}

1 En sektion
tekst

Eksempel 2.4

1.1 1.2
tekst

En undersektion En undersektion mere

1.2.1 En underundersektion

\paragraph{en paragraf overskrift} tekst

2 En ny sektion
2.1 En ny undersektion
tekst en paragraf overskrift

nummereres og at de underliggende numre arver modernummeret. Dog vil \paragraph normalt ikke blive nummereret, men det er blot et kongurationssprgsml. Man kan desuden meget nemt lave bilag/appendices, se afsnit 9.1.1 hvor vi ogs vil sige lidt mere om afsnit \section og vende og deres samspil med indholdsfortegnelsen.
21
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

2. Almindelig tekst

Afsnitoverskrifter uden nummer

Alle overskriftsmakroerne fra tabel 2.1 har desuden en variant (kaldet stjernet) som ikke skriver noget nummer. Man fr disse ved at indskyde et mellem afsnitsmakroen og argument som f.eks. \section*{titel}, se Eksempel 2.5.
Eksempel 2.5
\section*{En unummereret sektion} tekst \subsection*{Og en undersektion uden nummer}

En unummereret sektion
tekst

Og en undersektion uden nummer

Det er en god ide at skrive et par blanke linier fr og efter en overskriftsmakro. Det har ingen betydning for hvordan overskriften bliver skrevet, men gr koden langt mere overskuelig.
Sidebemrkning 2.4.
A Fordelen ved at anvende L TEXs indbyggede afsnitsmakroer er at man s automatisk fr adgang til et vld af ekstra muligheder. Blandt andet kan afsnitstitlerne anvendes i A en sidehoved, kapitler vil normalt automatisk starte p en ny hjreside og L TEX kan automatisk lave en indholdsfortegnelse, se afsnit 2.6. Bemrk for vrigt at et afsnit efter en overskrift ikke indenteres. Det er der ingen grund til. Indenteringen markerer jo at man gr i gang med noget nyt, og det har man allerede gjort opmrksom p via overskriften. (Skulle man have en pedantisk vejleder/universitet, s tag et kig p pakken indentfirst.)

2.2

Tegnstning

A Indenfor L TEX skriver man bare sin almindelige tekst som man normalt ville gre. St punktum, komma, kolon og semikolon som man plejer. Men for resten af tegnstningen glder der helt andre regler som man nok ikke er stdt p i ens brug af mere gngse tekstbehandlingsprogrammer.

Orddeling
A En korrekt installeret1 L TEX installation vil selv vre i stand til at orddele langt de este ord, isr i samarbejde med babel og fontenc. Der vil altid vre visse ord som A L TEX ikke selv kan nde ud af, eller visse ord som man slet ikke vil have orddelt. A Nr L TEX ikke selv kan nde ud af at orddele et bestemt ord vil man ofte se, at A ordet stikker ud i hjre margin. Man kan s hjlpe L TEX ved at indstte \- mellem A A de stavelser hvor man vil tillade L TEX at orddele ordet. Det er s op til L TEX at nde det bedste sted at lave en eventuel orddeling. Her er et (drligt) eksempel.
Noget tekst, text og mere tekst og overs\-k\-r\-i\-f\-t

babel fontenc

\-

Eksempel 2.6

Noget tekst, text og mere tekst og overskrift

1 MiKT X-brugere skal huske at tilfje dansk som sprog i MiKT X Options efter installationen. For andre E E

installationer skal man konsultere dokumentationen eller huske at tage hjde for det ved installationen.

22
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

Anfrselstegn

Eksempel 2.6 viser, at nr man anvender \- godtages alle disse punkter som dele punkter mens de delingspunkter som orddelingsmnstrene normalt ville vlge ignoreres.2 A Har man nogle ord som L TEX bare bliver ved med ikke at kunne orddele, kan man i stedet fortlle globalt hvordan man gerne vil have ordet orddelt. Dette sker med makroen \hyphenation{ liste af ord separeret af mellemrum }, man markerer stavelserne ved at indstte -, alts ikke med \- !
\hyphenation{ord-de-lings-al-go-rit-me FORTRAN}

\hyphenation

Man kan ogs p denne mde bestemme, at man f.eks. kun mtte orddele orddelingsalgoritme mellem orddelings og algoritme ved kun at indstte en - mellem de to ord. Eksempel 2.7 betyder desuden, at ordet FORTRAN og varianter af denne ikke m orddeles. \hyphenation placeres i preamblen og man m gerne lave ere af dem, alle ordene bliver bare tilfjet til en intern liste. Hvis et ord optrder uden - vil dette ord slet ikke blive orddelt. nsker man et enkelt sted at undg et ord bliver orddelt kan man eksempelvis anvende \mbox{ tekst }. I afsnit 9.3 kigger vi lidt nrmere p orddeling og hvordan man kan have orddeling p forskellige sprog. Her ser vi ogs p problemet vedrrende ordsammensat med bindestreg. Se ogs afsnittet 2.2 p side 25.
Anfrselstegn
A Indenfor L TEX og (stort set) resten af typograens verden anvender man ikke tegnet " til at angive anfrselstegn. Bemrk, at start- og slut-anfrselstegnet i de este bger ikke er det samme, i denne font er det . . . eller . . . , dvs. man skal kunne se hvilket anfrselstegn fungerer som starttegn og hvilken anvendes som sluttegn derfor dur det ikke med det samme symbol som start- og sluttegn. Tegnet " (fra tastaturet) benyttes derfor (f.eks. af babel) til andre ting. I stedet anvendes tre (eller re) forskellige former for anfrselstegnsmarkeringer, se Tabel 2.2.

Eksempel 2.7

\mbox

babel

Der ndes ogs en pakke (csquotes) som helt kan overtage mden hvorp anfrselstegn skal skrives. Pakken understtter bl.a. forskellige sprog, sledes at har man et citat p engelsk da vil anfrselstegn automatisk blive skrevet p den traditionelle engelske vis i stedet p den normale danske. Nrmere behandling af pakken ligger udenfor rammerne af denne bog, interesserede henvises i stedet til Lehman (2006).
Sidebemrkning 2.5.
\usepackage[danish=quotes]{csquotes}
slut preamble

csquotes

\enquote{Hvad var det \enquote{han} sagde?}

Hvad var det han sagde?

Eksempel 2.8

2 Det er muligt at omdenere \- sledes at den tilfjer ombrydningspunkter i stedet for at diktere dem. Det

er dog ikke noget vi kommer videre ind p her.

23
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

2. Almindelig tekst

A Tabel 2.2: Anfrselstegn i L TEX

Kode
" " >> <<

Output

Beskrivelse Enkelt anfrselstegn.a Engelske dobbeltanfrselstegn. Danske dobbeltanfrselstegn. Bemrk brugen af ".b Kaldes guillemets. Bemrk, at det er babel som giver denne specielle genvej.c

a Bemrk, at start- og sluttegn er to forskellige tegn. Den frste er accent-grave (eller back-ping)

(specialtegn fra tastaturet, p et dansk tastatur er det det verste tegn p tasten med de to stregaccenter se gur 1.1, p et amerikansk tastatur ndes det under ESC-tasten). Sluttegnet er apostrof (ndes lige ved siden af Enter/Return-tasten). b Jeg m rligt indrmme, at jeg ikke ved om dette er den type anfrselstegn som anbefales i dagens DK, men nuvel det var dem jeg lrte i skolen. Jeg anvender dog normalt de engelske. c Bemrk at det er babel som gr at vi bare kan skrive to strre-end og to mindre-end, man kan ogs benytte \guillemotright () og \guillemotleft (). Grunden til, at vi benytter -right-varianten som starttegn er at er den franske notation. Mens rkkeflgen er omvendt p dansk (ogs kaldet den tyske fortolkning). Man kan ogs f .

Streger (bindestreg, tankestreg,. . . )

De este tror nok, at der kun ndes en form for streg, nemlig - som ligger p tastaturet. Men indenfor typograens verden er der faktisk (mindst) re, med hver A deres funktion. Heldigvis har L TEX gjort dem nemme, at g til, de er nemlig alle bare A forskellige antal - skrevet efter hinanden. L TEX laver dem s om til det man kalder ligaturer.
A Tabel 2.3: Typograske streger i L TEX.

Kode
a-b a--b a---b $a-b$, $-c$

Output a-b ab ab a b, c

beskrivelse Bindestreg. En-dash. Se forklaring i teksten. Em-dash. Matematisk minus.

Bindestregen benyttes som navnet antyder som bindestreg, men kun som bindestreg! En en-dash anvendes ofte til at indikere et interval3 man skriver alts 1219 (12--19) og ikke 12-19 (12-19). P dansk benytter man ogs en en-dash som tankestreg med et mellemrum i begge ender, alts -- . En en-dash er lig en halv em-dash. Em-dash benyttes stort set udelukkende som engelsk tankestreg, hvor man s ikke anvender mellemrum i nogen af enderne. En almindelig praksis er dog at anvende den (centreret) i tabeller for at markere en tom celle, se Kapitel 7. Jeg er fornyelig blevet gjort opmrksom p, at man i den danske retskrivningsordbog stort set kun anvender bindestreg til at angive intervaller med, dvs. 9-15 i stedet for 915. Jeg holder mig selv til den engelske anbefaling som ogs er den som er beskrevet her.4
Sidebemrkning 2.6.

3 Dette er en meget almindelig fejl som jeg retter alt for ofte, s husk det nu.

24
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

Streger og orddeling

Bemrk desuden at udseendet af bindestreg og tankestreger afhnger ofte af den anvendte font. Der er visse fonte hvori bindestregen har en hldning i stedet for vandret som man oftest ser.
Sidebemrkning 2.7.

Streger og orddeling
A Man skal bemrke, at L TEX gerne m linieombryde ved bindestreg (eller ved en intervalbindestreg). Hvis det er et problem (f.eks. ved ordet p-adisk) kan man benytte \nobreakodash som stammer fra pakken amsmath.5 Man stter s \nobreakdash foran den streg ved hvilken man gerne vil undertrykke linieombrydningen. Eksempelvis
$p$\nobreakdash-adisk

\nobreakodash

I den modsatte grft anvender vi jo p dansk masser af sammensatte ord bde A med og uden bindestreg. Givet et sammensat ord af typen fr-efter, da vil L TEX kun linieombryde ordet ved bindestregen! Dvs. man kan nemt komme ud for, at et A sammensat ord fortstter ud i marginen fordi L TEX ikke orddeler ordet. Lsningen p dette problem er ved brug af dansk babel at anvende "- i stedet for -, eller manuelt at indstte nogle \--er.
(forkert) tekst tekst tekst tekst tekst retskrivnings-regelrytter (rigtig) tekst tekst tekst tekst tekst retskrivnings"-regelrytter

Eksempel 2.9

(forkert) tekst tekst tekst tekst tekst retskrivnings-regelrytter (rigtig) tekst tekst tekst tekst tekst retskrivnings-regelrytter

Eksempel 2.10

P engelsk er det ikke s tit man anvender bindestreger i ord, s derfor nder man ikke "- i den engelske babel. Men den er nem at tilfje
\usepackage[english]{babel} \makeatletter \useshorthands{"} \defineshorthand{"-}{\nobreak-\bbl@allowhyphens} \makeatother

Eksempel 2.11

Ligaturer

I mange fonte ser man at bogstavkombinationerne ff, fi, fl, ffi og ffl bygges sammen A til en kompakt enhed kaldet en ligatur. Dette gr L TEX automatisk i det omfang at fonten er sat op til det. Alt efter font kan der vre mange forskellige af disse. Et ret voldsomt eksempel kan ses ved fonten zapno: http://www.tug.org/mactex/src/Demos/ XeTeX-showcase/story-zapfino.pdf eller http://www.tug.org/mactex/src/Demos/texshowcase/ peace_on_earth.pdf. I visse sammenhnge, specielt vedrrende sammensatte ord, er det ikke hensigtsmssig at der fremkommer en ligatur p et bestemt sted. Dette kan man s fjerne ved indsttelse af {} p det sted man ikke nsker ligatur. Her er et par eksempler (vi har skiftet til fonten Latin Modern da den har tydeligere ligaturer).

4 Man kunne forledes til at tro at grunden til at man ikke flger den engelsksprogede tradition p dette

punkt kunne vre, at de este slet ikke ved at der er to forskellige streger og at man s anvendte dette thi det var det nemmeste, lidt som da man droppede nyt komma fordi ingen gad bruge det.
5 Den anvender man jo alligevel altid. . .

25
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

2. Almindelig tekst

Eksempel 2.12

\usepackage{lmodern}
slut preamble

stof{}fri giraf{}fl telegraf{}ingenir fi fl ffi ffl

stoffri giraffl telegrafingenir

Tvungen mellemrum uden linieombrydning

Med tvungen mellemrum menes her et mellemrum hvor det ikke m vre linieskift, A p engelsk kaldes dette non breaking space. Dette opnr man i L TEX via tegnet ~ A (tilde), man stter det simpelthen i stedet for mellemrummet, L TEX m s nde et AT X sprog kaldes en tilde i denne forbindelse ofte for en andet sted at dele linien. I L E tie efter to tie something together. De este burde faktisk anvende tilde noget mere. Huskereglen er:
Det vil se dumt ud hvis der kommer linieombrydning ved dette mellemrum

Nogle klassiske eksempler flger herunder:


Hr.~Hansen Stning~\ref{thm:5} af dimension~$1$. side~4 og~5

Det er egentlig noget man br overveje mens man skriver, thi s undgr man at skulle rette en masse linier nr man evt. senere ndrer marginer etc. En tie er ogs lsningen som br anvendes nr man til slut gennemgr alle venstre- og hjrekanter af teksten for at tjekke om linieombrydningerne er i orden. Dette er en af de mest almindelige fejl jeg ser nr jeg tilretter preprints, thi en af de ting jeg ndrer er marginerne hvorefter alle linieombrydningerne skifter og man fr en masse henvisning som er blevet brudt, med mindre man naturligvis har srget for at anvende en tie.
Engelsk punktum og mellemrum

\frenchspacing

Hvis man af en eller anden grund ikke anvender dansk babel, f.eks. skriver p engelsk, skal man vre opmrksom p en lille feature ved kombinationen af sm bogstaver og punktum. P engelsk er der en tradition for, at der er strre mellemrum mellem A stninger end mellem ord. Dette srger L TEX automatisk for, sledes, at efter f.eks. kombinationen lille bogstav . kommer der et dobbelt mellemrum. Dette gr man ikke i de este kontinental-europiske sprog, s her srger babel at sl denne feature fra (via \frenchspacing). Men ved engelsk skal man alts vre opmrksom p dette og derfor passe p med forkortelser etc. (Vi har skiftet fonten til Computer Modern da eekten her er tydeligere.)
\nonfrenchspacing e.g. tekst\\ \frenchspacing e.g. tekst

Eksempel 2.13

e.g. tekst e.g. tekst

Det man selvflgelig gr i denne situation er at skrive dette forkortelsespunktum som .\ . Og nsker man helt at sl featuren fra smider man bare en \frenchspacing i preamblen.
26
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

Ellipsis

Ellipsis . . . (eller bare hvordan man skriver prik prik prik)

Typogrask set kaldes . . . ellipsis, p dansk er det bare prik prik prik. Men hvad mange ikke lgger mrke til er, at dette ikke er det samme som at stte tre punktummer ... (eller med mellemrum . . .). I den frste er .-erne for tt sammen, mens man ved den anden risikerer at f linieskift mellem .-erne (desuden er der for stor afstand). I stedet anvendes makroen \dots, som ogs kan anvendes i matematik, se afsnit 3.2.6.
En, to, \dots\ og endnu mere.

\dots

En, to, . . . og endnu mere.

Eksempel 2.14

I teksten skal man lige huske f.eks. at anvende \ efter \dots, thi den jo ellers der et mellemrum. Husk desuden at hvis prik prik prik afslutter en stning, s behver man ikk stte punktum efter, det er undvendigt. Det skal nvnes at hvis man er meget pernittengryn, vil man opdage at spacingen ved \dots er en smule forkert nr den anvendes i teksten. Hvis man er en af disse, kan det vrd en ide at tjekke pakken ellipsis.
Specialbogstaver og accenter
A Kombinationen af pakkerne inputenc og fontenc gr det muligt for L TEX at forst tegn som eller skrevet direkte fra tastaturet. Men det er jo ikke alle som har adgang til A f.eks. , , eller . Dette lser L TEX ved at give genveje til disse tegn, se tabel 2.4. Desuden er \aa og \AA ogs to (af danskere) meget anvendte genveje (til \r{a} og \r{A}, i.e. og ). P denne mde kan man skrive dansk selv hvis man ikke har adgang til et dansk tastatur.
A Tabel 2.4: Accenter og specialbogstaver i L TEX

ellipsis

inputenc fontenc

\aa \AA

() ()

Kode
\ \ \" \. \^ \~ \= \b \c \k \r \t \u \v \H \d

Eksempel
\'{e} \`{a} \"{o} \.{Z} \^{o} \~{n} \={y} \b{a} \c{c} \k{E} \r{u} \t{oo} \u{G} \v{D} \H{O} \d{e}

Eekt y a oo e .

Navn accent grave accent aigu umlauta accent prik overb accent circumex accent tilde accent macronb accent understregb accent cedille accent ogonek accent bolle bind efterb accent breve accent hek ungarsk umlaut accent prik underb

Kode
\AE \DH \DJ \L \NG \O \OE \TH \ae \dh \dj \l \ng \o \oe \th \ss

Eekt

a P dansk kaldes denne trema, dog skulle den fonetiske virkning vre anderleb Hvis nogen kender et godt dansk navn for denne m man gerne kontakte mig.

des, se http://da.wikipedia.org/wiki/Trema.

27
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

2. Almindelig tekst

danske bogstaver
Eksempel 2.15

Husk, at man i matematik har helt andre konstruktioner til at lave matematiske accenter. Konstruktionerne beskrevet her kan/br ikke anvendes i matematik. Bare lige for en god ordens skyld gentager vi lige de danske bogstaver her
\ae, \o, \r{a}, \aa, \AE, \O, \r{A} og \AA.

, , , , , , og .

inputenc

Husk dog, at man med pakken inputenc, med den rigtige option, gerne m skrive , eller (eller , eller ) direkte fra tastaturet.
Tekstsymboler

textcomp

I de este fonte nder man ud over bogstaver og specialtegn desuden visse tekstsymA boler, s som f.eks. . Visse tekstsymboler kan man g til direkte i L TEX men for de estes vedkommende skal man bruge pakken textcomp. Man skal naturligvis vre opmrksom p det sagtens kan ske at visse symboler ikke ndes i visse fonte, det kan derfor vre en ide at give optionen safe til pakken, s vil den kun stille de tekstsymboler til rdighed som der med nogenlunde sikkerhed er i de este fonte. I Tabel 2.5 vil vi bare give et par eksempler p hvilke symboler man vil kunne nde. For yderligere symboler se listerne i Pakin (2003) eller se Tabel 7.6 i Mittelbach og Goossens (2004). Som man desuden vil kunne se i Pakin (2003) s er der desuden en masse andre pakker der kan give adgang til forskellige tekstsymboler. Bemrk at udseendet at symbolerne afhnger af den valgte tekstfont.
Tabel 2.5: Nogle tekstsymboler fra textcomp-pakken

Kode
\copyright \textperthousand \texttrademark \textdagger \textsection \textdegree

Resultat

Kode
\textregistered \textsterling \texteuro \textparagraph \textcelsius \textmu

Resultat

Note: Det anbefales dog at anvende specielle makroer til angivelse af enheder, se omtalen af pakken siunitx.

2.3

Om fontvalg og -strrelser

Fontstrrelser

deklarationsmakroer

Som allerede nvnt tidligere er det normalt dokumentklassen samt dens indbyggede options som styrer den overordnede fontstrrelse. Men lokalt kan man sagtens ndre den. Der er dog en meget vigtig lektion at lre her. Makroerne som beskrives i det efterflgende er skaldte deklarationsmakroer, dvs. de tager ikke noget argument, men ndrer i stedet tingenes tilstand herfra og frem, man skal derfor passe lidt p. Makroerne er beskrevet i tabel 2.6.
F.eks.\ vil teksten ogs vre i \verb+\tiny+ efter \verb+\tiny{tekst}+ -- se selv \tiny{tekst} mere tekst

Eksempel 2.16

\tiny{tekst}

F.eks. vil teksten ogs vre i \tiny efter se selv tekst mere tekst

28
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

Skift af fontvariant

Hvis det er til en forside eller noget lignende kan man benytte syntaksen {\makro ...}, hvor s { } beskytter det efterflgende, se evt. afsnit A.2. Det skal dog indskydes, at man ogs kan f andre strrelser, men det skal vi ikke komme nrmere ind p her, se i stedet afsnit 9.6.4. De faktiske strrelser af de kommandoer som er opstillet i tabel 2.6 afhnger af den valgte dokumentklasse samt naturligvis den valgte dokument fontstrrelse (gennem 10pt, 11pt eller 12pt klasseoption).
A Tabel 2.6: Fontstrrelser i L TEX

Kode
\tiny \footnotesize \normalsize \Large \huge

Eekt
tekst

Kode
\scriptsize \small \large \LARGE \Huge

Eekt
tekst

tekst

tekst

tekst

tekst

tekst

tekst

tekst

tekst

Skift af fontvariant

Under normale omstndigheder har man i sit dokument adgang til forskellige fontvarianter. Man kan selvflgelig ogs skifte selve fonten, hvilket vi taler lidt om i afsnit 9.6.1. A L TEX deler fontbehandlingen op i tre dele, en serie, en form (engelsk: shape) og en familie. Disse deklarationer kan s blandes til f.eks. f.eks. at give en fed kursiv tekst, se tabel 2.7. Man skal dog vre opmrksom p at det afhnger af fontvalget om visse kombinationer faktisk eksisterer. Eksempelvis er det de frreste sans serif fonte som faktisk understtter small caps. S vil \textbf{\textit{tekst}} (tekst) s give fed kursiv tekst. Man skal dog vide, at det kommer helt an p fontopstningen hvilke sammenstninger som virker. F.eks. er det sjldent, der ndes en kursiv (eller fed) small caps (disse kan dog i visse sammenhnge blive simuleret i stedet). Forskellen mellem den slantede font og den kursive er, at den slantede er konstrueret ud fra den normale tekstfont (tiltet en smule) mens den kursive normalt er en designet font. Forskellen mellem de to kan ses via 2 (\textsl{2}) versus 2 (\textit{2}) ved brug af Computer Modern fonten. De alternative variantskiftende makroer i Tabel 2.7 er igen deklarationsmakroer og tager alts ikke noget argument. De korte \text... kommandoer kan kun tage korte tekster, svarende til et enkelt afsnit (dvs. ingen blanke linier). Har man brug for mere skal man anvende den alternative metode. Bemrk at der i de alternative navne indgr postx family, series og shape. Alt efter den anvendte skrifttype kan disse frit blandes med en fra hver type.

I visse sammenhnge ser man ogs makroerne \it, \bf, \sc etc. Disse br man holde sig fra og i stedet holde sig til \text... varianterne. Disse makroer stammer fra TEX og deres brug kan vre forvirrende for menigmand. (Prv at sammenligne {\bf\it tekst} med {\it\bf tekst}, det er nok de frreste som havde forventet dette. Der er dog ingen problemer med at mikse de lange varianter \itshape, \bfseries, \scshape etc.)
Advarsel 2.8.

\it \bf \sc

29
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

2. Almindelig tekst

A Tabel 2.7: L TEXs metoder til skift af skrifttype variant.

Tekstkommando
\textrm{...} \textsf{...} \texttt{...} \textmd{...} \textbf{...} \textit{...} \textup{...} \textsl{...} \textsc{...} \textnormal{...} \emph{...}

Alternativ
{\rmfamily

Eekt romersk (antikva)a


sans serif
monospace

...} {\sffamily . . . } {\ttfamily . . . } ...} {\bfseries . . . }


{\mdseries {\itshape

mediumb fed kursiv opretc slantet small caps normal dokument fontd fremhvet, se side 31

...} ...} {\slshape . . . } {\scshape . . . }


{\upshape {\normalfont

...}

{\em

...}

a Dette er (oftest) standarden. b Nogle gange kendt som ikke-fed. Forskellen mellem denne og brug af f.eks. \textnormal

er at \textmd kan i et omrde med fed kursiv skrift, skifte tilbage til ikke-fed kursiv skrift. Brug af \textnormal ville fjerne det kursive element. Medium er (oftest) standarden. c Dette er det modsatte af kursiv, i.e. ophver kursiv, hvis teksten allerede er kursiv. d Denne justerer tilbage til dokumentets standard fontopstning, bog uden at rre fontstrrelsen.

Hvis man i tabel 2.7 tager de alternative navne og fjerner \, s vil disse navne faktisk kunne anvendes som environments!
Sidebemrkning 2.9.
Eksempel 2.17
noget tekst\begin{bfseries} mere tekst \end{bfseries} senere tekst

noget tekst mere tekst senere tekst

Fontndringen sker s naturligvis kun indenfor dette environment.

Tip 2.10.

Fra tid til anden kommer man forbi konstruktioner a la

\begin{theorem} {\upshape ... lang tekst ... } \end{theorem}

hvor tanken (fra skribenten) er, at man jo skal huske at beskytte verden udenfor, nr man anvender de alternative fontmakroer. Men {}-parret er faktisk overdige i dette tilflde. Er man mellem en \begin{...} og tilsvarende \end{...} s glder fontndringen kun frem til \end{...}. Det samme glder faktisk de este ndringer af makroer, lngder etc., se det flgende eksempel.
Eksempel 2.18
tekst \begin{center} \bfseries fed tekst \end{center} mere tekst

tekst fed tekst mere tekst


Fortsttes p nste side 30

Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

Fremhvning af tekst

Desuden er det lidt noget pjat at anvendes en konstruktion som ovenstende vedr. brugen af stningskonstruktioner, man kunne lige s godt lre at kongurere stningerne, se Kapitel 5.

Fremhvning af tekst

Til fremhvning af noget tekst anvendes alts makroen \emph der normalt stter teksten i kursiv. Men i modstning til \textit holder \emph je med den omkringliggende tekst og srger for at ndre opfrsel derefter.
noget almindeligt tekst \emph{fremhvet} og mere tekst. S kommer der noget i \textit{kursiv og her \emph{fremhver} vi igen}.

\emph

noget almindeligt tekst fremhvet og mere tekst. S kommer der noget i kursiv og her fremhver vi igen.

Eksempel 2.19

Som man kan se bliver fontvalget i det frste eksempel til kursiv, mens det i det andet bliver den normale upright font. Denne forskel kan vre lidt svr at se. Med pakken fixltx2e6 fr man makroen \eminnershape som kan ndres til et andet valg.
\usepackage{fixltx2e} \renewcommand*\eminnershape{\scshape}
slut preamble

\eminnershape

Eksempel 2.20

noget almindeligt tekst \emph{fremhvet} og mere tekst. S kommer der noget i \textit{kursiv og her \emph{fremhver} vi igen}.

noget almindeligt tekst fremhvet og mere tekst. S kommer der noget i kursiv og her fremhver vi igen.

Bemrk at man i den skrevne tekst aldrig understreger tekst for at fremhve den, ej heller til at markere at dette er en overskrift. Dette anses for at vre drlig typogra og er noget man gr p en tavle eller ved anden form for hndskrift, men ikke noget som anvendes p tryk. Anvend i stedet f.eks. \emph.
Sidebemrkning 2.11.

2.4

Krydsreferencer

A Alt hvad L TEX selv nummererer kan man senere henvise til og f bde nummeret samt eventuelt et side tal. Man kan sledes krydsreferere til alt lige fra nummererede overskifter, nummererede punkter i en liste, nummererede stningskonstruktioner og isr formelnumre. A Krydsreferencer i L TEX er en to-trins proces, frst placeres

\label{

unik ngle }

\label

efter det man gerne vil referere til. Den unikke ngle er bare en tekststreng og m indeholde stort set alle ascii-tegn (i.e. ikke de danske) ej heller tegnet %. Den label man nu har placeret, vil s gemme nummeret p det man kan referere til lige her, samt siden hvorp labelen er placeret. Et simpelt eksempel er naturligvis.7
6 Som man anbefales at anvende under alle omstndigheder. Er man kun interesseret i \eminnerstyle s er denne makro ogs inkluderet i memoir -klassen. 7 At jeg her anvender sec: som en del af den unikke ngle, har ikke den strre betydning, s er det bare

lettere at se hvilken type reference der er tale om.

31
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

2. Almindelig tekst

Eksempel 2.21

\section{Overskrift} \label{sec:overskrift}

Man referer s via de to makroer


\ref \pageref

\ref{

\pageref{

unik ngle } unik ngle }

Den frste giver det nummer man henviser til, mens den anden giver sidetallet for den side hvorp \label{ unik ngle } er placeret. Referencer fungerer via den eksterne .aux-l, hvilket vil sige, at nr man har sat en ny label skal man lige huske at overstte dokumentet to gange (en gang for at f en ny label skrevet til .aux-len, og en gang for at \ref kan f fat p den nye label). Det samme gr sig gldende nr man efter at have indsat noget tekst fr yttet labels over p andre sider. Man vil s se advarslen
Sidebemrkning 2.12.
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.

A til slut i oversttelsesinformationerne fra L TEX.

Husk, at srge for at anvende unikke labels. Det er ikke A nogen fejl i L TEX at have ere labels med det samme navn, det giver bare ukorrekte A krydsreferencer. L TEX giver flgende advarsel:
Sidebemrkning 2.13.
LaTeX Warning: Label `key' multiply defined.

og i slutningen af meddelelserne
LaTeX Warning: There were multiply-defined labels.

A Skulle man have refereret til en label som L TEX ikke kan nde vil den skrive ?? p det sted i teksten hvor man refererer til denne label og i meddelelserne skrive

Sidebemrkning 2.14.

LaTeX Warning: Reference `key1' on page 1 undefined on input line 6. ... LaTeX Warning: There were undefined references.

Dette kan vre fordi man mangler at kompilere en gang til eller fordi man har stavet nglen forkert. Eksempel
Eksempel 2.22
En label: \label{reftst} lige her, vil referere til det seneste refererbare i dokumentet. Her er det >>\ref{reftst}<< (afsnittet vi er i) p side~\pageref{reftst} (i.e. denne side).

En label: lige her, vil referere til det seneste refererbare i dokumentet. Her er det 2.4 (afsnittet vi er i) p side 32 (i.e. denne side).

Det er en god ide, at man lader vre med at anvende mellemrum i den unikke ngle. Det potentielle problem ved mellemrum er, at t og to mellemrum er to forskellige ting s har man labelen h n og man ved en fejl er kommet til at referere til h n s kan det vre ret svrt at nde fejlen bagefter.
Sidebemrkning 2.15.
32
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

Fodnoter

Med klassen memoir ndes der desuden en \titleref makro som ved en label til en overskrift faktisk vil give overskriften. Den anvender vi her i bogen for at kunne henvise til subsubsections, da disse ikke er nummereret.
Sidebemrkning 2.16.

\titleref

2.5

Fodnoter

Fodnoter skrives naturligvis med den ret oplagte makro


\footnote{

tekst }

\footnote

Som stort set kan anvendes overalt i teksten. Der er dog visse steder man enten ikke br anvende fodnoter eller skal anvende dem p den helt rigtige mde for at det fungerer. Man br ikke lave fodnoter indeni noget matematik, idet nummereringen (som normalt er et hvet tal) nemt kan forveksles med en potens. I afsnitsoverskrifter, gur- og tabelcaptions skal man passe ekstra meget p. I afsnit 9.2 forklarer vi blandt andet hvad man skal gre i denne situation. En fodnote vil som navnet antyder blive skrevet ved sidens fod. Indenfor visse omrder har man i stedet tradition for at skrive (fod)noterne i slutningen af dokumentet. A Dette kaldes ogs endnotes eller slutnoter. Hvordan man anvender slutnoter i L TEX behandles ogs i afsnit 9.2. A Man kan i L TEX ogs sagtens lave noter i marginen af ens dokument, hvilket vi f.eks. har anvendt i denne bog. Dette vil vi ikke komme nrmere ind p, hverken her eller i senere kapitler. Den interesserede lser kan i stedet sl op i Mittelbach og Goossens (2004) eller evt. Wilson (2010) som ogs behandler emnet generelt.
2.6 Indholdsfortegnelse

endnotes slutnoter

A Indholdsfortegnelsen aktiveres i L TEX via makroen

\tableofcontents

\tableofcontents

som placeres p det sted hvor man nsker at indstte sin indholdsfortegnelse. Man skal s huske, at frste gang \tableofcontents aktiveres i et dokument, skal man lige kompilere dokumentet mindst to gange.8 Det samme glder hvis man har tilfjet et nyt afsnit, s skal dokumentet kompileres mindst to gange fr indholdsfortegnelsen er helt opdateret.
Sidebemrkning 2.17.

Hvad der s rent faktisk kommer med i indholdsfortegnelsen kommer s an p kongurationen (standard opstningen varierer fra klasse til klasse). Som oftest vil man f overskrifterne (titlerne) fra \part, \chapter, \section og \subsection. Hvor langt man gr ned i hierarkiet af afsnitsoverskrifter kan nemt kongureres se afsnit 11.3. Det er desuden vigtigt at bemrke at alle de stjernede varianter af afsnitsmakroerne ikke kommer med i indholdsfortegnelsen. Dette kan man dog ogs komme uden
8 Indgangene til indholdsfortegnelsen skrives til en l (.toc) som s automatisk inkluderes af \tableofcon-

(hvis den ndes). Men hvis man ikke har bedt om en indholdsfortegnelse, er der jo ingen grund til at A registrere noget. S nr man frste gang har \tableofcontents med i sit dokument, s vil L TEX begynde at registrere afsnit, hvorefter indholdsfortegnelsen er til rdighed fra nste oversttelse.
tents

33
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

2. Almindelig tekst

om, hvis man nsker at have overskrifterne med i indholdsfortegnelsen, men ikke nsker nogen afsnitsnumre. Se igen afsnit 11.3. I eksempel 2.23 nder man et simpelt dokument med en indholdsfortegnelse. Der er en lille hage ved denne automatisk genererede indholdsfortegnelse: Alt hvad man skriver i en afsnitsoverskrift kommer med i indholdsfortegnelsen, f.eks. et tvunget linieskift. Hvad man skal gre for at redde sig ud af denne situation forklares i afsnit 11.3.
Sidebemrkning 2.18.
Eksempel 2.23

Indhold
\tableofcontents \section{En sektion} \subsection{En undersektion} \section{En anden sektion} \paragraph{En paragraf overskrift} \section*{En uden nummer}

1 En sektion 1.1 En undersektion . . . . . . . . 2 En anden sektion

1 1 1

1 En sektion
1.1 En undersektion

2 En anden sektion
En paragraf overskrift

En uden nummer
Se desuden afsnit 9.1.
2.7 Justering af tekst

Centrering

center
Eksempel 2.24

Et stykke tekst som skal fremhves ved centrering, pakker man ind i environmentet center.9
tekst tekst tekst tekst tekst fr \begin{center} \itshape centreret tekst \end{center} tekst tekst tekst tekst tekst efter

tekst tekst tekst tekst tekst fr centreret tekst tekst tekst tekst tekst tekst efter

Bemrk at der ikke vil vre nogen form for ordddeling indenfor center-environmentet. Hvis man nsker at centrere teksten i et allerede eksisterende environment, s anvender man ikke center-environmentet, man anvender i stedet makroen \centering, som bare siger at nu skal teksten alts vre centreret. Fordelen er at \centering ikke efterlader sig ekstra vertikalt mellemrum, hvilket vi jo kan se at center jo gr. Det mest almindelige sted man ser brugen af \centering er inden i gure-environmentet, for at centrere guren, se Kapitel 6.
Sidebemrkning 2.19.
\centering

9 FiXme Note: fejl: manglende luft

34
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

Venstre- / hjrejustering af tekstafsnit

Venstre- / hjrejustering af tekstafsnit

Gres med hhv. ushleft og ushright. Bemrk, at dette slr ogs orddelingen fra indenfor dette environment.
tekst fr \begin{flushright} Dette er noget lang tekst\\ som bare bliver ved og ved \end{flushright} tekst efter

ushleft ushright
Eksempel 2.25

tekst fr Dette er noget lang tekst som bare bliver ved og ved tekst efter

ushright kan jo f.eks. anvendes til at lave en underskrift p en aeveringsopgave. Man skal bemrke at inden for dette environment kommer der ingen orddeling. Til brug inden i andre environments, ndes der i dette tilflde ogs makroer svarende til \centering: environment flushleft makro \raggedright environment flushright makro \raggedleft
Justering med indbygget orddeling
\raggedright \raggedleft

Skulle man have brug for justering som beskrevet ovenfor, s skal man anvende pakken ragged2e som giver makroerne
\Centering \RaggedRight \RaggedLeft

ragged2e

Disse er isr anvendelige i f.eks. tabeller med meget tekst, samt i smalle sjler. Tilsvarende environments: Center FlushRight FlushLeft Pakken giver ogs en makro s man kan komme tilbage til den normale tilstand, se Schrder (2003) for mere information.
Citater
A L TEX har to environments til at tage sig af citater quote og quotation. Begge laver afstand til resten af teksten og rykker hele teksten lidt ind fra hjre og venstreside.
Tekst \begin{quote} x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x \end{quote} Noget mere tekst

quote quotation
Eksempel 2.26

Tekst xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxx Noget mere tekst

Det er lidt hip som hap hvilken en man benytter. Man kan s sammenstte dette med nogle font- og strrelsesndringer.
35
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

2. Almindelig tekst

Eksempel 2.27

Tekst \begin{quotation} \footnotesize\itshape x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x \end{quotation} Noget mere tekst

Tekst
xxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx

Noget mere tekst

Bemrk, at teksten i eksempel 2.27 er indenteret, sammenlign med eksempel 2.26. Se desuden eksempel A.18 for et eksempel p hvordan man kan anvende quoteenvironmentet og babel-pakken til at lave sit eget specielle citatenvironment beregnet p engelske citater og hvor man s automatisk skifter til engelsk orddeling indeni dette environment.
2.8 Lister

A L TEX har grundlggende tre typer lister en punktopstilling, en nummereret liste samt en beskrivende liste.

Punktopstilling
itemize
\item

En punktopstilling laves med environmentet itemize. Hvert punkt startes med \item. tekst
tekst \begin{itemize} \item Punkt et \item Punkt to \item Punkt tre \end{itemize} tekst

Eksempel 2.28

Punkt et Punkt to Punkt tre tekst

Man skal vre opmrksom p, at -en ndrer sig nr man stter lister inden i hinanden.
Eksempel 2.29
tekst \begin{itemize} \item Punkt et \begin{itemize} \item punkt \end{itemize} \item Punkt tre \end{itemize} tekst

tekst Punkt et punkt Punkt tre tekst


\paragraph

Lige en henstilling: Er man ved at skrive et bevis som er bygget op i lngere punkter, s er det naturligvis oplagt at anvende en liste i en eller anden form. Her skal man passe meget p! Det et ofte spild af plads hvis punkterne i beviset er ret lange (husk at man kommer til at have en meget stor venstremargin ved al teksten i de enkelte punkter). Her kan det i stedet vre en fordel at starte hvert punkt med \paragraph{ starttekst } i stedet. Den srger automatisk for at afslutte dette punkt fra den foregende tekst.
Formaning 2.20.

36
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

Nummereret liste

Nummereret liste

En nummeret liste laves med environmentet enumerate tekst


tekst \begin{enumerate} \item et \item to \item tre \end{enumerate} tekst

enumerate
Eksempel 2.30

1. et 2. to 3. tre tekst

Nogle gange vil man gerne kunne benytte f.eks. a, b, c,. . . som nummerator. Til dette forml har man pakken enumerate, som s giver \begin{enumerate} et valgfrit argument, f.eks.
\usepackage{enumerate}
slut preamble

enumerate

(a) et (b) to (c) tre

Eksempel 2.31

\begin{enumerate}[(a)] \item et \item to \item tre \end{enumerate}

Nr enumerate-pakken anvendes vil enumerate kigge efter tegnene a (sm bogstaver), A (store bogstaver), i (sm romertal), I (store romertal) og 1 (almindelige tal, standard) og s skrive selve tlleren (nummereringen) efter dette valg. Udover denne begrnsning er det helt op til en selv at bestemme hvad man vil skrive. Da enumerate reagerer p alle de nvnte 5 tegn, kan man se sig ndsaget til at skulle beskytte (med et {}-par) visse dele af argumentet angivet i [ ]. Se de frste to punkter i eksempel 2.32.
\usepackage{enumerate}
slut preamble

enumerate

AksAom A 1 + 1

Eksempel 2.32

\begin{enumerate}[Aksiom A] \item $1+1\neq 3$ \item $e^{\pi i}+1=0$\\ noget tekst p nste linie \end{enumerate} og den rigtige lsning \begin{enumerate}[{Aksiom} A] \item $1+1\neq 3$ \item $e^{\pi i}+1=0$\\ noget tekst p nste linie \end{enumerate}

BksBom B e i + 1 = 0 noget tekst p nste linie og den rigtige lsning Aksiom A 1 + 1 3

Aksiom B e i + 1 = 0 noget tekst p nste linie

Man bemrker ogs, at indenteringen automatisk justeres alt efter bredden af det valgfri argument. Dette med, at man kan beskytte dele af argumentet, forklarer desuden hvorfor \textbf{a} ikke ville give os en fed tller med sm bogstaver. Tegnet a er simpelthen skjult fra enumerate-parseren. For at lse dette skal man bare srge for at anvende de lange fontmakroer (her \bfseries).

37
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

2. Almindelig tekst

Eksempel 2.33

\usepackage{enumerate}
slut preamble

a. et b. to c. tre

\begin{enumerate}[\bfseries a.] \item et \item to \item tre \end{enumerate}

\label

A Som nvnt andetsteds kan man i L TEX referere til stort set hvad som helst som A er autonummereret af L TEX. Dette glder naturligvis ogs punkterne i en nummeret liste. Bare smid en \label efter \item.
\begin{enumerate} \item \label{enum:1} Punkt et \item \label{enum:2} Punkt to \end{enumerate} \ref{enum:1} og \ref{enum:2}

Eksempel 2.34

1. Punkt et 2. Punkt to 1 og 2

enumitem

Man skal vre opmrksom p, at man fr kun fat p nummeret (eller bogstavet), ikke formateringen. For at f endnu bedre kontrol over udformningen af listerne samt formateringen med i referencerne se pakken enumitem, lettere beskrevet i afsnit 9.7.2.
Beskrivende liste

description

En beskrivende liste genereres med description. Teksten man gerne vil beskrive, angives som valgfrit argument til \item.10
\begin{description} \item[Aksiom A] $1+1\neq 3$ \item[Aksiom 28] $e^{\pi i}+1=0$\\ noget tekst p nste linie \end{description}

Eksempel 2.35

Aksiom A 1 + 1

Aksiom 28 ei + 1 = 0 noget tekst p nste linie

Bemrk, at teksten er skrevet med fed (dette kan kongureres, se Mittelbach og Goossens (2004)) og at en lang titeltekst bare rykker ind i selve beskrivelsen. Vi vil i et senere kapitel (9) se lidt nrmere p andre pakker som kan lave lister, samt hvordan man kan lave egne liste konstruktioner. Se f.eks. listen p side 12 som viser dokumentklasse options. Denne beskrivende liste er lavet sledes at hvis argumentet er langt, laves der automatisk linieskift fr teksten. A Ivrigt kan man desuden tage et kig p L TEX stningskonstruktioner som egentlig kan ses som specielle lister, hvor hvert punkt (som er et environment for sig selv) har en overskrifter og et nummer. For at starte et nyt punkt i denne specielle form for liste, skal man bare anvende environmentet endnu en gang. Se kapitel 5.
2.9 Simpel indsttelse af titel, forfatternavn og dato

Til mindre dokumenter (artikler, opgavebesvarelser, etc.) kan har man tit brug for at kunne tilfje en simpel titel, forfatterinformation samt en dato. Den nemmeste metode er at anvende flgende syntaks:

10 Man kan desuden anvende dette valgfrie argument ved itemize eller enumerate, selv om dette sjldent er

en god ide.

38
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

Hvordan hndterer man URLer, stier og lnavne

titeltekst } \author{ forfattertekst } \date{ datotekst }


\title{ \maketitle \today

\title \author \date \maketitle \today

Det er vigtigt at de tre frste makroer kommer fr \maketitle og at \maketitle selv kommer efter \begin{document}. Hvis man undlader at anvende \date, vil man f datoen for sidste kompilering (hvilket er det samme som at have anvendt \date{\today}). Skulle man omvendt ikke nske nogen dato, skal man bare anvende \date{}. I standardklasserne (article, report og book samt ogs memoir ) kan man adskille ere forfattere med makroen \and, dvs. man anvender
\author{Forfatter1 \and Forfatter2}

\and

I andre klasser skal man skrive det hele lidt anderledes (eksempelvis i amsart). Man har desuden muligheden for til hver forfatter at kunne tilfje en speciel fodnote, kaldet \thanks, som kun kan anvendes i \title eller \author. Dette kunne f.eks. anvendes til at tilfje en email-adresse eller lignende. Her er et eksempel p det hele i brug.

Eksempel 2.36

\thanks \author

Min opgavelsning
\author{En Forfatter\thanks{% Stttet af SU-styrelsen.}} \title{Min opgavelsning} \date{\today} \maketitle

Eksempel 2.37

En Forfatter 2. november 2010

Stttet af SU-styrelsen.

Hvis nu ens lille dokument ikke fylder mere end n enkelt side, s er det jo lidt tosset at skulle have et sidetal p siden. Sidetallet kan i s fald fjernes ved at placere
Tip 2.21.
\thispagestyle{empty}

efter en eventuel \maketitle. Anvender man slet ikke \maketitle s kan man i stedet placere
\pagestyle{empty}

Eksempel 2.38

i dokumentets preamble. Faktisk kan dette i visse tilflde gres automatisk, se Kodetip 13.3.

Eksempel 2.39

2.10

Hvordan hndterer man URLer, stier og lnavne

Nr man nsker at skrive navnet p en l eller nsker at skrive en URL i teksten, da glder helt srlige regler for hvordan man m linieombryde disse. Helt specikt m man jo aldrig orddele et lnavn eller en URL, thi hvordan kan man se om bindestregen skal med i navnet eller ej. Til at lse dette problem anvendes pakken url som hovedsageligt giver makroen
39
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

url

2. Almindelig tekst

\url \path

\url

(samt makroen \path som egentlig bare er \url med et andet navn). Denne makro har flgende fortreligheder: (a) Det m kun linieombrydes efter tegn s som /, ., _ etc. (listen kan kongureres, se Arseneau (2003d)). (b) Teksten skrives automatisk i skrivemaskinefont (monospace). (c) Teksten skrives faktisk mere eller mindre ordret (verbatim, se afsnit 9.10), det vil sige at man uden videre kan anvende tegn s som ~ eller _ i en URL eller sti eller lnavn, de skal ikke beskyttes eller skrives om p nogen mde. (d) Anvender man hyperref i sit dokument s laves alle \urler automatisk om til hyperlinks i pdf-len.

I dette dokument anvender vi naturligvis ogs \url.


Eksempel 2.40
\url{http://www.imf.au.dk/system/latex/bog} \\ \path{/home/daleif/www/}

http://www.imf.au.dk/system/latex/bog /home/daleif/www/

40

Tredje Kapitel

Introduktion til matematik


Nr man arbejder med en eller anden form for videnskab vil man altid, p et eller andet tidspunkt, f brug for at kunne skrive matematiske formler. Dette kapitel er A en introduktion til matematik i L TEX. Der vil blive lagt vgt p de mest almindelige konstruktioner, men mens man stadigvk holder det hele p et nybegynderniveau. Mere uddybende behandling af matematikken udskydes til det efterflgende kapitel. Anser man ikke sig selv som nybegynder, br man nu alligevel gre sig bekendt A med konstruktionerne anvendt i dette kapitel, det er basal viden for alle L TEX-brugere. Vi vil til enhver tid antage at man har husket at aktivere pakkerne amsmath og amssymb, disse vil derfor ikke blive inkluderet i eksemplerne nedenfor. Bemrk at visse klasser eller pakker automatisk loader amsmath (eks. amsart og amsbook).
3.1
A Matematik i L TEX

amsmath amssymb

Nr man selv sidder og skriver matematik p et stykke papir skelner man mellem to forskellige mder at skrive matematikken p. (a) Som del af den almindelige tekst og (b) fremhvede formler p linier for sig selv. Stilen (a) kaldes textstyle, inline/integreret eller tekstbaseret matematik, mens (b) kaldes fremhvet eller displaystyle. Tilstanden A L TEX er i nr den behandler matematisk materiale kaldes naturligt nok matematik-mode eller math-mode. Den typograske forskel mellem de to er, at matematikken i textstyle bliver tilpasset til at kunne st p en almindelig tekstlinie, dvs. visse konstruktioner er presset mere sammen, thi ellers ville de forstyrre afstanden mellem tekstlinierne. P eksempel 3.1 kan man se forskellen ved brker og sumtegn.
Dette er et lille eksempel med tekst matematik med $\sum_{n=1}^\infty \frac{1}{n^2}= \frac{\pi^2}{6}$ og dernst herunder samme men nu som fremhvet matematik \begin{equation*} \sum_{n=1}^\infty \frac{1}{n^2}= \frac{\pi^2}{6}. \end{equation*}

textstyle inline fremhvet displaystyle matematik-mode

Dette er et lille eksempel med tekst matematik 2 1 med n2 = og dernst herunder samme n=1 6 men nu som fremhvet matematik
n=1

Eksempel 3.1

1 2 = . 6 n2

Fra eksemplet kan man ogs se at man kan skrive tekst-matematik mellem et $...$-par og en fremhvet unummereret formel indenfor equation* environmentet. Fr vi gr videre skal vi dog frst se lidt nrmere p syntaksreglerne indenfor matematik mode.
3.1.1 Lidt syntaksregler i matematik mode

$. . . $ equation*

Mellemrum tller ikke

P grund af det potentielt store forbrug af symboler samt reglerne for hvilkem mellemrum der skal anvendes mellem hvilke symboler, vil mellemrum i kildekoden ikke betyde noget indenfor math-mode.
41
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Eksempel 3.2

dvs. $a + b = c$ er det samme som $ a + b = c $

dvs. a + b = c er det samme som a + b = c

\,

\, \ \quad \qquad

Dette er jo en klar fordel, idet symbolmakroer jo normalt ellers har tendens til at sluge mellemrummet lige efter. A L TEX indstter normalt selv de mellemrum der skal til omkring symbolerne. Men til tider kan det vre en fordel selv at kunne indstte en eller anden form for standardiseret mellemrum (dvs. af faste strrelser). For eksempel br man indstte \, fr dx i f (x) dx ($\int f(x)\,dx$), hvilket er med til at ge lsbarheden. De forskellige muligheder kan ses i tabel 3.1. Man br isr kende til makroerne: \,, \ , \quad og \qquad.
Tabel 3.1: Makroer til indsttelse af vandret mellemrum

Kilde
\, \: \; \ \enskip \quad \qquad \! \negmedspace \negthickspace

Eekt

Beskrivelse thinspace medspace thickspace ord mellemrum enskip quad 2 quad negativ thinspace negativ medspace negativ thickspace

Strrelse 3 mua 4 mu + b 5 mu + 0.5 ema 1 em 2 em 3 mu 4 mu + 5 mu +

a En em er det samme som skriftstrrelsen som er i brug lige nu og en mu (math unit) b + betyder at denne del kan strkke sig en smule.

er 1/18 em. Teksten her er sat i fodnote strrelse og er af strrelsen 9.0pt.

Ingen danske vokaler i matematik

Man kan ikke anvende vokaler (eller andre accent) bogstaver indenfor matematik. Dette A vil L TEX brokke sig over i en advarsel, s som LaTeX Warning: Command \r invalid A in math mode ..., hvis man prver at skrive , indeni noget matematik , og L T X E vil s vlge slet ikke at skrive noget. Man vil under normale omstndigheder ikke have brug for de tre danske vokaler som direkte matematiske variable, de vil snarere komme ind som indices til variable f.eks. Rs for radius af en s. Hvordan man lave dette rigtigt samt hvordan man behandler fysiske enheder, som f.eks. (ngstrm), skal vi se p senere (se afsnit 3.2.3, isr eksempel 3.29 samt afsnit 10.3).
Begrnset automatisk linieombrydning

En tredje regel er at der i tekst-matematik kun er begrnset mulighed for automatisk ombrydning af en formel. Dette skyldes at der ikke ndes nogen universelle regler for hvordan en matematisk formel skal deles hen over en linie. A L TEX har mulighed for at lave automatisk linieombrydning efter relationer og operationer, men f.eks. ikke efter komma. Disse ombrydninger er ikke altid optimale. Man nder en strre gennemgang af linieombrydning af matematik i afsnit 4.1.
42
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Tegnstning i matematik

Samtidigt skal alle linieombrydninger i fremhvet matematik laves af skribenten, thi dette krver matematisk indsigt, se desuden afsnit 4.1.3.1
3.1.2 Tegnstning i matematik

Generelt anbefales at man laver sin tekstmssige tegnstning som var det normal tekst, dette glder bde i tekstbaseret og fremhvet matematik, med den undtagelse at man i den fremhvede form inkluderer tegnstningen indenfor matematikken hvilket man ikke gr i tekstbaseret matematik. Se desuden afsnit 4.1.4. Her er et simpelt eksempel.
For $f(x)$, $g(x)$ og $h(x)$ glder \[ f(x)+g(x) = h(x) . \]

For f (x), g(x) og h(x) glder f (x) + g(x) = h(x).

Eksempel 3.3

3.1.3

Fremhvet matematik

Til den fremhvede matematik ndes der mange forskellige konstruktioner. Det er umuligt at lave netop een konstruktion, som kan det hele, s derfor m man lre de forskellige konstruktioners normale brug. Det meste af dette udskyder vi til den vede del af bogen og vil i stedet beskftige os med de to mest anvendte konstruktioner: equation og align. Der glder for disse environments og det glder for de vi skal se senere: Hvis et environment env til fremhvede formler giver formelnumre da ndes der et tilsvarende environment env , hvor formelnumrene er slet helt fra.
Mantra.

equation align

Der glder en enkelt regel for hvordan man skal skrive sine ting i et environment til fremhvede formler:
Sidebemrkning 3.1.

Man m ikke have blanke linier i et matematik-environment! Dette glder for alle environments til fremhvede formler. nsker man at gre koden mere overskuelig via blanke linier, skal man bare huske at starte dem med en %.

One-liners

Environmentet equation anvendes til formler som kun fylder n linie og man har ingen muligheder for at dele en linie hvis den bliver for lang (der skal man i stedet anvende en anden konstruktion, som evt. kan anvendes indeni en equation).
\begin{equation} f(x)=x^2+1\geq 1\quad \forall x\in\mathbb{R} \end{equation}

equation

f (x) = x + 1 1

x R

(3.1)

Eksempel 3.4

Formlen bliver automatisk nummereret. nsker man ikke noget nummer anvendes equation* i stedet.

equation*

1 Dette er ikke helt korrekt, der arbejdes p at implementere denne matekatiske indsigt direkte i en L T XAE

pakke, men det er ikke ligefrem nogen nem opgave.

43
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Eksempel 3.5

\begin{equation*} e^{\pi i}+1=0 \end{equation*}

ei + 1 = 0

\[. . . \]

Som et alias for equation* kan man anvende \[. . . \], det fylder lidt mindre.
\[ \cos^2\theta+\sin^2\theta=1 \]

Eksempel 3.6

cos2 + sin2 = 1

Det kan dog vre en smule vanskelig at se environmentet lavet med \[. . . \], nr man er ved at skimme ned gennem sit dokument. Det er derfor vre en ide at skrive det p flgende mde
Sidebemrkning 3.2.
Eksempel 3.7
\[ \dots \]

A Alts med hhv. \[ og \] p en linie for sig. Med de mere moderne L TEX editorer kan man indstte

\begin{equation*}

...

\end{equation*}

nemt via tastaturet eller musen, hvilket er endnu nemmere at overskue. Dette gr det nemmere for skribenten at overskue teksten, men ogs for senere skribenter som mske har overtaget vedligeholdelsen af dokumentet.
Sidebemrkning 3.3.
\end{

Generelt er det en god ide at lade \begin{ env } og env } st p linier for sig selv, idet dette gr koden nemmere at overskue.2

Flerliniede formler

align

Nr man har et udtryk som af forskellige rsager krver ere linier vil det oftest vre align man vil anvende. Som navnet antyder anvendes environmentet til at ugte ting med, dvs. stte ting op, s et flles punkt str under hinanden. Den simpleste syntaks er:
\begin{align}

Venstre & hjre \\ Venstre & hjre \\ ... Venstre & hjre
\end{align}

Forstet p den mde at man via & markerer det punkt i sit udtryk hvor man gerne A vil justere sine formellinier over hinanden. L TEX srger s for at punkterne hvor &-erne er placeret bliver justeret (alignet) over hinanden. Hver formellinie bliver automatisk nummereret.

2 Ved godt, at bogen ikke selv flger denne regel i mange af eksemplerne, men det er mere af pladshensyn. I

egne dokumenter kan man svine med pladsen lige s meget man har lyst til.

44
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Flerliniede formler
\begin{align} f(x) &= (x-1)(x+1)\\ &= x^2-1 \end{align}

f (x) = (x 1)(x + 1) = x2 1

(3.2) (3.3)

Eksempel 3.8

Advarsel 3.4. Det &-tegn som markerer alignmentpunktet kan ikke placeres indeni andre konstruktioner, f.eks. midt i en brk, kvadratrod eller en \left. . . \right konstruktion (alle tre introduceres senere i dette kapitel).

number

Skulle man nske kun at nummerere visse af linierne, kan man placere en \no(samme som \notag), p den formellinie (fr en eventuel \\) man ikke nsker nummereret.
\begin{align} f(x) &= (x-1)(x+1) \nonumber \\ &= x^2-1 \end{align}

\nonumber \notag

f (x) = (x 1)(x + 1) = x2 1

Eksempel 3.9

(3.4)
align*
Eksempel 3.10

Igen kan man bare anvende align*, hvis man slet ikke nsker nogen nummerering.
\begin{align*} x &\geq \sin x\\ &\geq x^2, \quad 0\leq x\leq 1. \end{align*}

x sin x x2 ,

0 x 1.

Vi skal i et senere kapitel se lidt nrmere p hvor man egentlig m dele en formel og hvad man gr i forskellige situationer. Indtil videre vil vi bare nvne at man hovedsageligt br placere & til venstre for relationer eller binre relationer, ligesom vi har gjort i alle vore eksempler. Se afsnit 4.1.1. Skulle man alligevel bende sig i en situation hvor ugtning til hjre for en relation er bedste lsning, skal man gre lidt ekstra, se Eksempel 3.11.
Sidebemrkning 3.5.
\begin{align*} A = {} & B \\ & + C\\ = {} & D \end{align*}

A=B +C =D

Eksempel 3.11

Her skal man isr bemrke brugen af de to {}-par, som afhjlper mellemrummet omkring lighedstegnet, uden dem ville lighedstegnet komme for tt p B og D. Umiddelbart er der ikke noget galt i ogs at anvende align til one-liner formler. Hvis der kun er en linie behver man heller ikke nogen &. Disse kan man s indstte hvis/nr man for brug for ere linier. Men equation og equation* har en indbygget feature som man ikke ser med f.eks. align-environmentet. Hvis formlen er kort og teksten lige fr formlen er kort, s re-justerer equation automatisk sin position i forhold til den foregende tekst, for at kunne udnytte pladsen bedre.
Sidebemrkning 3.6.
tekst \[ a=b \] tekst \begin{align*} a=b \end{align*}

tekst a=b tekst a=b


Fortsttes p nste side 45

Eksempel 3.12

Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Desuden vil equation kunne trkke matematikken lidt sammen for at kunne passe p linien, hvis det er ndvendigt. Det gr align ikke.
A Visse L TEX introduktioner (f.eks. Oetiker (2006)) samt visse Journal skabeloner skriver at man kan anvende environmentet eqnarray til at skrive erliniede formler med. Dette er korrekt, men dette environment er s fyldt med fejl at det kun br anvendes i yderste ndstilflde, f.eks. hvor man er tvunget til ikke at mtte anvende amsmath-pakken. Man kan se en opsummering af hvorfor man aldrig skal anvende eqnarray i Madsen (2006).

Sidebemrkning 3.7.

eqnarray

3.1.4
\label \ref

Formelnumre og krydsreferencer

Krydsreferencer til nummererede formellinier laves som sdvanligt via \label og en \ref-kommando. \labelen placeres p den formellinie (fr en eventuel \\) man gerne til referere til.
\begin{align} f(x)&=\sqrt{\sin^2\theta-1} \label{eq:6}\\ g(x)&=32 \label{eq:7} \end{align} (\ref{eq:6}) viser noget og \eqref{eq:7} viser noget andet.

Eksempel 3.13

f (x) = sin2 1 g(x) = 32

(3.5) (3.6)

(3.5) viser noget og (3.6) viser noget andet.

\eqref

()-par,

Eksempel 3.13 viser desuden to forskellige mder at f formelnummeret indkapslet i et enten pr. hndkraft eller via \eqref. Fordelen ved \eqref frem for (\ref{...}) ses bedst hvis man refererer til noget mens man er i kursiv tekst (f.eks. i formuleringen af en stning).
\textit{(\ref{eq:6}) versus \eqref{eq:6}}

Eksempel 3.14

(3.5) versus (3.5)

Som det ses er den frste variant ret grim i kursiv (endnu vrre i CM fonten), s anvend hellere \eqref til at referere til formelnumre. Faktisk er der visse teksteditorer som automatisk kan gre dette nr man refererer til en formel. Det er vigtigt at man ikke blander \label og \nonumber sammen p samme linie. Environments fra amsmath (f.eks. align) vil i s fald give en fejlmeddelelse (hvilket ogs er at forvente), men visse konstruktioner gr ikke,3 noget som kan give nogle ret underlige resultater, se f.eks. Madsen (2006). Man skal ogs huske at man med amsmath-environments kun kan have n label til hvert formelnummer. Placerer man mere end en, vil man f en fejl.
Sidebemrkning 3.8.

Har man brug for at lave andre ting med formelnummeret henvises man til afsnit 4.4, nvnes blandt andet hvordan man kan f dokumentet til kun at nummerere de formler som der faktisk refereres til.
3 equation og eqnarray.

46
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Symboler og operatorer

3.2
4

Symboler og operatorer

3.2.1

Forskellige symboler

Symboler skal der jo til hvor mange vil du ha? Flgende er en lille oversigt over nogle af de symboler man har til rdighed i matematik. Flles for dem alle er at man kun har adgang til dem indenfor math-mode.
Sidebemrkning 3.9.

Husk at vi som altid antager at man har aktiveret amssymb.

Symbolerne er hentet fra den store symboloversigt Pakin (2003), kapitel 3, s det er her man skal kigge hvis man ikke lige kan nde det symbol man mangler. Husk dog at kigge tabellerne i Pakin (2003) helt igennem, der er visse pakker som det ikke anbefales at man anvender, af forskellige rsager. Umiddelbart er de primre pakker amssymb, amsfonts, latexsym og stmaryrd. Skulle man foretrkke frem for kan man nemt udskifte \epsilon med \varepsilon, se Eksempel 3.15.
$\epsilon$ og s skifter vi \renewcommand\epsilon{\varepsilon} $\epsilon$

og s skifter vi

Eksempel 3.15

Ddelige: De flgende lister af symboler skal gennemgs for at se om der er ere relevante symboler som skal med

5 FiXme

4 FiXme Ddelige: dette afsnit skal gennemgs nrmere 5 FiXme Ddelige: De flgende lister af symboler skal gennemgs for at se om der er ere relevante symboler

som skal med

47
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Tabel 3.2: Grske bogstaver

Sm Kode
\alpha \beta \gamma \delta \epsilon \zeta \eta \theta \iota \kappa \lambda \mu \nu \xi o \pi \rho \sigma \tau \upsilon \phi \chi \psi \omega

Store Output o Kode


A B \Gamma \Delta E Z H \Theta I K \Lambda M N \Xi O \Pi P \Sigma T \Upsilon \Phi X \Psi \Omega

Output A B E Z H I K M N O P a T b X

Navn alfa beta gamma delta epsilon zeta (udt. sta) eta (udt. ta) theta (udt. tta) iota (udt. jota) kappa lambda (udt. lamda) my ny xi (udt. ksi) omikrom pi rho (udt. ro) sigma tau ypsilon phi (udt. ) khi (udt. ki) psi omega epsilon kappa rho phi pi sigma theta

Alternative
\varepsilon \varkappa \varrho \varphi \varpi \varsigma \vartheta

Kilde: Poulsen (2001) Note: Husk at udseendet afhnger meget af den matematikfont man anvender. a Dette er ikke sumtegnet, anvend \sum i stedet. b Alternativt kan man anvende Y i stedet for \Upsilon.

48
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Forskellige symboler

Tabel 3.3: Nogle operatorsymboler


\pm \oplus \cap \setminus \barwedge +

\ +

\mp \otimes \cup \sqcap \veebar -

\circ

\oslash \cdot \sqcup \dagger *

\times \odot \bullet \vee \ddagger /

\star \ast \div \wedge \diamond

Tabel 3.4: Nogle relationssymboler


\sim \mid \doteq \geq \neq \leqslant \asymp \succ \Vdash

\simeq \propto < \leq \geqq \ggg \models \backsim \vdash

\approx

< |=

\parallel > \gg \leqq \lll \prec \backsimeq

>

\cong \perp = \ll \geqslant \lessapprox \preceq \circeq

De este af relationerne i Tabel 3.4 kan negeres ved at placere \not foran.
$x\not> 1$

\not

Eksempel 3.16

Tabel 3.5: Nogle inklusioner


\in \subseteq \sqsubset \supseteqq \not\supset

\ni \subseteqq \sqsupset \not\subset \supsetneq

\notin \supset \sqsubseteq \subsetneq \supsetneqq

\subset

\supseteq \sqsupseteq \subsetneqq

Hvis et symbol man sger ikke er til at nde i Pakin (2003), men faktisk kan laves ved at kombinere andre symboler, s kan man tage et kig bagest i Pakin (2003) hvor der bliver forklaret lidt om hvordan man kan stte symboler sammen. Dette kan f.eks. anvendes til at lave et uafhngighedssymbol (ofte en streg med to lodrette streger).
Sidebemrkning 3.10.
\newcommand*\rmodels{{\perp\mskip-11mu\perp}} $A \rmodels B$ $A \mathop{\rmodels}\limits_{n=1}^k B_i $

A A Bi B
n=1

Eksempel 3.17

I stedet for den ret komplicerede sidste linie kan man anvende
\DeclareMathOperator*{\rmodels}{{\perp\mskip-11mu\perp}}

i preamble s kan den sidste linie skrives \rmodels_{n=1}^k B_i. Se afsnit 3.2.4.
49
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Eksempel 3.18

3. Introduktion til matematik

Tabel 3.6: Diverse symboler (opfrer sig som alm. bogstaver)


\forall \ni \ell \jmath \hbar \aleph \neg \triangle \Box \backprime \bigstar \emptyset \blacktriangle \complement \heartsuit

\exists \top \partial \Im \hslash \infty \nabla \backslash \Diamond \square \triangledown

\in \bot \imath \Re \nexists

\angle \mho \prime \blacktriangledown \blacklozenge \lozenge

\varnothing \measuredangle \clubsuit \diamondsuit

\blacksquare \sphericalangle \spadesuit

Det er nok de frreste som har anvendt eller som symboler. Man ville nok hellere anvende dem som imaginr- (Im) og realdel (Re) for komplekse tal. Se eksempel 3.33 for et eksempel p hvordan man kan opn dette.
Sidebemrkning 3.11.

Nr man skal angive den aedte af en funktion anvender man normalt bare apostrof fra tastaturet i stedet for at anvende \prime.
Sidebemrkning 3.12.
Eksempel 3.19
$f'(x)$ $h^\prime(x)$.

f (x) h (x).

Faktisk er apostroen i matematik-mode omdbt til at betyde ^\prime.

Pile

Se ogs Pakin (2003), tabel 6873. Et par pile som mangler fra fontene er negerede versioner af \uparrow () og \downarrow (). De ndes normalt ikke i symbolfontene.6 Til det flgende kodetip skal man huske at anvende pakken graphicx (som giver \reflectbox makroen). Makroen er lavet efter en gammel ide af Morten Hgholm, denne versionen er dog en opdateret udgave af Enrico Gregorio.
Kodetip 3.1
\def\@nrotarrow#1#2{% \setbox0=\hbox{$\m@th#1\uparrow$}\dimen0=\dp0 \setbox0=\hbox{% \reflectbox{\rotatebox[origin=c]{90}{$\m@th#1\mkern2.22mu #2$}}}% \dp0=\dimen0 \box0 \mkern2.3965mu } \def\nuparrow{\mathrel{\mathpalette\@nrotarrow\nrightarrow}} \def\ndownarrow{\mathrel{\mathpalette\@nrotarrow\nleftarrow}}

6 Dette er ikke lngere korrekt, thi pakken MnSymbol har faktisk disse med, desvrre passer denne symbol-

samling ikke ret godt sammen med andre tekstfonte end Minion.

50
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Skrive over eller under en pil

Tabel 3.7: Nogle forskellige pile-symboler


\to \uparrow \searrow \longrightarrow \longmapsto \Rightarrow \iff \Updownarrow \rightarrow \curvearrowleft \dashleftarrow \twoheadleftarrow \nLeftarrow \nleftarrow \leftrightharpoons \leftharpoonup

\leftarrow \downarrow \swarrow \longleftarrow \longleftrightarrow \Leftarrow \Downarrow \hookleftarrow \circlearrowleft \curvearrowright \leftrightarrows \twoheadrightarrow \nRightarrow \nleftrightarrow \rightleftharpoons \rightharpoondown

\leftrightarrow \nearrow \nwarrow \mapsto \leadsto \Leftrightarrow \Uparrow \hookrightarrow \circlearrowright \dashrightarrow \rightleftarrows \nLeftrightarrow \nrightarrow \leftharpoondown \rightharpoonup

Ekstra pile via stmaryrd pakken


\mapsfrom \nnearrow \sswarrow

\longmapsfrom \nnwarrow \lightning

\leftrightarroweq \ssearrow

Konstruktionen kan nu ogs blive anvendt i f.eks. subscripts. Dog skriver Enrico at pilene bliver en lille smule for hje i sub/superscript.7 Resultatet bliver s
$ a \nuparrow b \ndownarrow c $

Eksempel 3.20

Skrive over eller under en pil

Man fr tit brug for at kunne skrive noget ovenover eller under en horisontal pil. Til dette anvendes
\xrightarrow[ \xleftarrow[

under ]{ over } under ]{ over }

\xrightarrow \xleftarrow

Med den simple anvendelse.


\begin{align*} &X\xrightarrow{x\mapsto f(x)} Y \\ &X\xrightarrow[f]{} Y \\ &X\xrightarrow[f]{x\mapsto f(x)} Y \end{align*}

X Y X Y
f f

xf (x)

Eksempel 3.21

X Y

xf (x)

7 Dette kan man evt. lse med en alternativ konstruktion, se http://groups.google.com/group/comp.text.


tex/msg/689cc8bd604fdb51.

51
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Pakken mathtools giver desuden ere lignede strkbare pile-konstruktioner, se Hgholm (2008b). Mange preprint-forfattere kender ikke ovenstende konstruktion og forsger sig derfor med \overset eller \stackrel, dette kan ikke betale sig og bliver nemt grimt. Anvend \xrightarrow eller lignende i stedet.
Sidebemrkning 3.13.

3.2.2

Operatorsymboler

\limits \nolimits

Et operatorsymbol eller et stort symbol er betegnelsen for symboler s som , , o.a. som ndes i en fremhvet variant og en (mindre) tekstvariant. Disse vil ofte desuden placere eventuelle grnser over/under symbolet i den fremhvede form samt ved siden af symbolet i tekstvarianten. Skulle man have brug for at kunne tvinge et stort symbol til at placere grnser enten over/under eller p siden, kan man anvende \limits-makroen eller den tilsvarende \nolimits.
\begin{equation*} \int\limits_\Omega f(\omega)\wedge g(\omega)\,d\omega \sum\nolimits_n^k f_k \end{equation*}

Eksempel 3.22

f () g() d

k n

fk

Nogle af de mest almindelige store symboler kan ses i Tabel 3.8 (i deres fremhvede varianter). Man kan ogs nde andre i Pakin (2003) kapitel 3, bemrk at visse symboler krver at man har installeret ekstra fonte. Her flger et simpelt eksempel.
Eksempel 3.23
\begin{equation*} \sum_n \bigwedge_{k\geq n} \biggl(\bigotimes_j \xi_{jkn}\biggr) \end{equation*}

jkn
n kn j

Et symbol som mangler fra tabel 3.8 er en stor udgave af , alts en \bigtimes. Pakin (2003) nvner godt nok nogle fonte hvori man kan nde den, men man kan lige s godt lave den selv. Eksempel 3.24 krver at man anvender amsmath og at man anvender Type 1 fonte (det gr de este). Versionen prsenteret her skyldes Enrico Gregorio.
Kodetip 3.2
\makeatletter \newcommand\@b@gtimes[1]{% \vcenter{\hbox{#1$\m@th\mkern-2mu\times\mkern-2mu$}}} \newcommand\@bigtimes{% \mathchoice{\@b@gtimes\huge} {\@b@gtimes\LARGE} {\@b@gtimes{}} } \newcommand\bigtimes{\mathop{\@bigtimes}\displaylimits} \makeatother % display style % text style % script style

{\@b@gtimes\footnotesize} % script script style

Hvilket s kommer til at se ud som flger.


Eksempel 3.24
\[ \] \bigtimes_{i=1}^n [a_i, b_i] + \frac{ \bigtimes_{i=1}^n A_i }{ \Omega }.

i=1

[ai , bi ] +

n Ai . i=1

52
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Operatorsymboler

Tabel 3.8: Nogle store symboler


\sum \bigvee \bigsqcap \bigotimes \iint \iiiint \prod \bigwedge \bigcap \bigoplus \iiint \idotsint \coprod \bigsqcup \bigcup \int \iiiint \oint

Via stmaryrd-pakken
\bigbox \biginterleave \bigparallel

Via esint-pakken
\ointclockwise \sqint \ointctrclockwise \oint

eller kpfonts-pakken
\sqiint \oiint

Makroen \mathchoice skal man ikke undre sig s meget over. Den srger i dette tilflde for at vi kan justere udseendet i fremhvede formler, i tekstbaseret matematik samt i to niveauer af hvet eller snket skrift.

Der er naturligvis ingen som kan huske alle disse symboler udenad, s dem slr man op nr man har brug for det. Omvendt s har mange af symbolerne nogle underlige navne som mske ikke lige er relevant indenfor det felt man selv arbejder med. F.eks. anvendes symbolet \simeq ( ) til at betyde homotopi-kvivalens indenfor topologi, og man anvender \cong8 ( ) til at angive isomorer. Dette er ikke videre nemt at forst udfra kildekoden. Det kan derfor vre en god ide at man selv laver nogle andre mere sigende navne for visse makroer eller konstruktioner. Se Appendix A for en gennemgang af hvordan man laver makroer. Nogle eksempler p makroer af denne type, kan vi hente fra statistik. Her skriver man f.eks. X N (0, 1) for at angive at den stokastiske variabel X er standard normalfordelt. Men det er lidt svrt at se udfra X\sim N(0,1), en bedre ide ville vre at lave makroen \DistAs og s skrive X\DistAs N(0,1), s fr man i det mindste en ide om hvad der str.9 Det er en ret god ide at bruge navne som i sig selv giver mening, sledes at kildekoden faktisk begynder at give mening uden at man skal se slutproduktet. Flere eksempler fra statistik
Tip 3.14.

\simeq \cong

( )

( )

Fortsttes p nste side 53


Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Eksempel 3.25

\newcommand\DistAs{\sim} \newcommand\DistEq{% \stackrel{\scriptscriptstyle\smash{d}}{=}} \[ X\DistAs N(0,1), \quad Y \DistEq Z . \]

X N (0, 1),

Y = Z.

Vi anvender \smash for at \DistEq ikke skal forstyrre linieafstanden hvis den anvendes i den almindelige tekst. Makroen \stackrel forklares p side 62 og \scriptscriptstyle er en mde hvorp man kan ptvinge stilen/strrelsen fra dobbelt subscript.

3.2.3

Matematiske fonte

Med matematiske fonte menes her fontvarianter lige som kursiv bare i stedet for til brug i matematik. En oversigt kan ndes i tabel 3.9.

Tabel 3.9: Matematiske fonte

\mathrm{ABCdef123} \mathit{ABCdef123} \mathsf{ABCdef123} \mathbf{ABCefg\Gamma1} \mathfrak{ABCdef123} \mathcal{ABC} \mathbb{ABC}

ABCdef123 ABCdef123 ABCdef123 ABCefg1 ABCdef123 ABC


se den efterflgende bemrkning

kun store bogstaver kun store bogstaver, kommer via amssymb, men andre pakker kan ndre udseendet af disse, f.eks. mathpazo. via pakken mathrsfs, kun store bogstaver via pakken bbm, kun store bogstaver samt 1 og 2, bemrk at denne font kan vre fuzzy i PDF preview via pakken dsfont, kun store bogstaver samt 1 via pakken bm, anbefalet til fed matematik fra amstext (loades automatisk af amsmath)

ABC

\mathscr{ABC} \mathbbm{ABC12}

A BC

ABC1 ABcd1 almindelig tekst

\mathds{ABC1} \bm{ABcd1\Gamma\alpha\Sum} \text{almindelig tekst}

10

Se ogs Pakin (2003) tabel 135. Forskellen mellem den almindelige matematik mode (som jo er kursiv) og \mathit er afstanden mellem bogstaverne, se eksempel 3.26.

10 FiXme Ddelige: mega hul nr falineSD anvendes med oat option

54
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Skrive almindelig tekst i matematik-mode

$differ$ vs.\ $\mathit{differ}$

dif f er vs. dier

Eksempel 3.26

Man anvender ikke \mathit srligt ofte. Der hvor den kan anvendes er nr man har n variabel som bestr af ere bogstaver, en sdan ville man traditionelt skrive upright, alts SDD i stedet for SDD, men insisterer man p kursiv, s giver \mathit et bedre resultat SDD.
Skrive almindelig tekst i matematik-mode

I matematik-mode ignoreres alle mellemrum og man kan ikke anvende f.eks. , eller . S hvordan tilfjer man noget tekst til en formel? Det ses af Tabel 3.9 at den anbefalede metode til indsttelse af tekst i matematik er makroen \text{...}. Inden i denne er man igen tilbage til almindelig tekst. Man br lige bemrke at hvis argumentet til \text starter med et mellemrum, vil dette mellemrum faktisk blive skrevet (hvilket ofte er en fordel).
\[ x^2 \geq 0 \text{ for alle } x \in\mathbb{R}. \]

\text

x2 0 for alle x R.

Eksempel 3.27

Ofte skrives sidste del af ovenstende eksempel som \text{ for alle $x\in\mathbb{R}$.}.
11

Generelt anbefales det at nr man anvender ord som indices til variable, da br denne tekst st opretstende.12 Det skal dog nvnes at man ikke br anvende \text til dette idet, hvis den omkring liggende tekst er kursiv da bliver teksten lavet med \text ogs kursiv.
tekst \textit{tekst $xyz_ \text{tekst}$ tekst} tekst

tekst tekst xyztekst tekst tekst

Eksempel 3.28

Det anbefales i stedet at man srger for at alle ord-indices skal vre opretstende og i den almindelige tekstfont, i.e. via \textup{ tekst }. Dette giver desuden fordelen at man her kan anvende de danske bogstaver, hvilken man ikke kan i \mathrm.
$R_{\textup{s}}=25\,\textup{km}\quad r_{\textup{min}}=2$

\textup

Rs = 25 km

rmin = 2

Eksempel 3.29

Danske vokaler i matematik

Der er jvnligt brugere som klager over at de ikke kan skrive de danske vokaler i matematik. Kigger man p det de nsker at skrive s er det oftest enten kommentarer, se kommandoen \text side 55 eller det er vedr. indices, f.eks. radius af en s: Rs . Der glder to regler i dette tilflde: 1. Indices som ikke er variable (dvs. som ikke er f.eks. i, j) skal skrives opretstende (dvs. ikke-kursiv) og det skal ske med tekst-skrifttypen (for s kan vi f ). 2. Kommandoen \text br ikke anvendes til dette, da den skriver sin tekst i kursiv hvis den omkringliggende tekstskrifttype er i kursiv. Dvs. den strider mod 1. Man br i stedet anvende kommandoen \textup.
11 FiXme Ddelige: br skrives helt om. Dette forvirrer den nye bruger 12 Dvs. ikke kursiv
\textup

55
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Nogle lettere bizarre mennesker anvender de danske vokaler som funktions- eller mngdenavne i matematik, s man kan godt hvis man selv ved hvordan man skal rode med tingene, hvilket vi ikke kommer nrmere ind p. Se desuden afsnit 10.3. 13
Fed skrift i matematik
\mathbf

\bm

Makroen \mathbf stter godt nok fonten i fed men de er nu opretstende i stedet for den normale kursive. Desuden virker den kun p almindelige bogstaver, tal samt de store grske bogstaver. Lsningen p dette problem hedder \bm fra pakken bm, den virker p alle symboler, bogstaver, tal osv. Hvis et symbol ikke ndes i en fed version, laver \bm selv en simuleret fed ved at tegne symbolet nogle gange lettere forskudt (metoden kaldes ogs poor mans bold).
\usepackage{amssymb,bm}
slut preamble

Eksempel 3.30

$\mathbf{ABcd12\Lambda\Gamma\alpha\beta\oplus\sum}$ $\bm{ABcd12\Lambda\Gamma\alpha\beta\oplus\sum}$

ABcd12 ABcd12

Forstrrer man sumtegnet kan man godt se at den er fede udgave er simuleret.
3.2.4 Navngivne funktioner og operatorer

Inden for matematikken har man en masse operatorer/funktion som er angives via navn, eksempelvis sin (sinus), lim (grnseovergang), log (logaritme) samt mange A andre. L TEX stiller en del af disse til rdighed og amsmath giver os redskaber til selv at lave dem. Men frst en formaning: Der er en grund til at man anvender f.eks. \sin i stedet for bare at skrive sin.
Eksempel 3.31
\begin{equation*} A sin B\quad A \mathrm{sin} B \quad A\sin B \end{equation*}

AsinB

AsinB

A sin B

\sin

Eksempel 3.31 viser at det frste eksempel er i hvert fald helt forkert, man kan ikke se meningsmssig forskel p dette samt A s i n B, hvilket er grunden til at man altid skriver disse operatornavne med upright/roman font. Men det andet eksempel viser at den naive metode heller ikke dur der mangler mellemrum, og det er s det man i et A tredje punkt kan se at L TEX har tilfjet via \sin.
A Tabel 3.10: Prdenerede navngivne operatorer i L TEX

\cos \arccos \cosh \deg \log \hom \liminf \sec

cos arccos cosh deg log hom lim inf sec

\sin \arcsin \sinh \arg \ln \lim \limsup \Pr

sin arcsin sinh arg ln lim lim sup Pr

\tan \arctan \tanh \dim \lg \sup \max

tan arctan tanh dim lg sup max

\cot \csc \coth \ker \exp \inf \min

cot csc coth ker exp inf min

13 FiXme Note: som skal udvides en del

56
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Navngivne mngder

Visse af funktionsnavnene i Tabel 3.10 placerer sup- eller superscript under/over navnet nr vi er i fremhvede formler, dette glder f.eks. \lim, \max, \min, \sup, \inf. Fr nogen begynder at brokke sig over at deres yndlings operator ikke er med p listen kan vi berolige med at der er meget nemt selv at lave disse. Jvnfr diskussionen efterflgende eksempel 3.31 er det flgende desuden den anbefalede mde at gre lave navngivne funktioner p. macronavn }{ tekst } \DeclareMathOperator*{ macronavn }{ tekst }
\DeclareMathOperator{

Bemrk, at de kan kun anvendes i preamblen. Makroen \DeclareMathOperator* giver en operator som i fremhvede formler placerer sub- eller superscript under/over navnet. Herunder flger et eksempel som genererer sporet (\tr) samt limes exterior (\limext).
\DeclareMathOperator{\tr}{tr} \DeclareMathOperator*{\limext}{lim\,ext}
slut preamble

lim ext tr T (x) = 42


xA

Eksempel 3.32

\[

\limext_{x\in A} \tr T(x)=42

\]

Til navngivne mngder glder der tilsvarende regler, se afsnit 3.2.5. A Man skal vre opmrksom p at visse navne allerede er optaget af L TEX, s man kan blive ndt til at nde p andre navne. Er man helt sikker p at man ved, hvad et allerede eksisterende makronavn gr og man ved, man ikke fr brug for det, kan man godt genbruge et makro navn. Et eksempel kan vre makroerne \Re ( ) og \Im ( ), de este ville jo anvende dette til real- og imaginrdelen af komplekse tal. Her kan \operatorname gre gavn, idet der ndes ingen \reDeclareMathOperator-makro.
\renewcommand{\Re}{\operatorname{Re}} \renewcommand{\Im}{\operatorname{Im}}
slut preamble

\Re \Im \operatorname

Lad z = a+ib da er Re z = a og Im z = b.

Eksempel 3.33

Lad $z=a+ib$ da er $\Re{z}=a$ og $\Im{z}=b$.

Se desuden appendix A, vedrrende yderligere information om hvordan man laver sine egne simple makroer.

Et af de navne som er optaget er \span, denne skal man ikke forsge at lave om p for at lave \span-funktionen. Denne anvendes internt i tabel konstruktioner og alignment, nrmere forklaring kan ses i Knuth (1986).
Advarsel 3.15.

3.2.5
14

Navngivne mngder

hele dette afsnit skal genovervejes, ignorer venligst


14 FiXme Ddelige: hele dette afsnit skal skrives om, og kode skal evt. smides over i mathtools

57
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

For navngivne mngder glder der en tilsvarende regel om, at hvis navnet er p ere bogstaver s skal det st upright, det vil vi her forklare lidt om hvordan man kan gre. Desuden br specikke enkelt-bogstav mngder ogs skrives upright. Det er i og for sig meget nemt f.eks. at anvende \R som en forkortelse for \mathbb{R}, men skriver man f.eks. sammen med andre, s er det faktisk en bedre ide at man anvender et navn som i stedet giver mening for sig selv. Det kunne jo vre at der var andre som anvendte \R til noget helt andet. Desuden kunne \R nemt blvier forvekslet med et af makroerne som anvendes til at lave accenter med. I mange tilflde vil der derfor ikke blive tale om at makronavnet for en mngde, bliver en forkortelse, der er snarere tale om at man anvender en kodestil som er konsistent, og nem at fortst selv hvis man giver dokumentet videre til andre eller hvis man sidder og lser koden direkte. For at gre det nemmere for os selv laver vi en hjlpe makro til os selv. Koden til den nder man af pladshensyn i Kodetip ??. Tippet giver bl.a. makroen
\DeclareMathSet[

options ]{ text }

som kan anvendes til at lave navne p mngder. For at illustrere hvordan det fungerer, kigger vi p et eksempel:
Eksempel 3.34
\DeclareMathSet{C} % -> \numbersC = \mathbb{C} \DeclareMathSet[format=\mathrm, prefix=group]{GL} % -> \groupGL \DeclareMathSet[name=Cat,prefix=set, format=\mathcal]{C} % -> \setCat
slut preamble

C GL C

\[ \numbersC \times \groupGL \times \setCat \]

\DeclareMathSet format=

understtter re key = value options:

makronavn Dette er den markro som gives { tekst } som argument. Den tager sig af selve formateringen. Det vil. specielt sige at makroen man angiver kun skal tage t argument. format*= makronavn Denne variant kan man anvende til navne som skal anvende bogstaver fra forskellige fonte/varianter. Hvis man eksempelvis vil lave en konstruktion til at kunne lave CP, s laver man frst en makro,
Eksempel 3.35
\newcommand\mathbbrm[2]{\mathbb{#1}\mathrm{#2}}

og s kan man anvende


\DecldareMathSet[format*=\mathbbrm,prefix=space]{CP}% => \spaceCP

Eksempel 3.36

tekst Prex af det resulterende makronavn. For \DeclareMathSet er standarden set. name= tekst Alternativt navn efter prex . Nr name ikke anvendes anvender vi det som er angivet i { tekst } argumentet til \DeclareMathSet, til tider er det smartere at anvende et andet navn. overwrite Hvis makroen man ender op med at fremstille, f.eks. \numbersR allerede ndes i forvejen vil \DeclareMathSet give en fejl. Angiver man argumentet overwrite s man lov til at overskrive den tidligere denition.
prefix= clareMathGroup

Har man f.eks. mange grupper, s kan man via Kodetip ??, nemt lave sig en \Demakro.
58

Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

. . . (prikker)

Med disse makroer der et nemt at lave sig en masse mngdekommandoer. Grunden til at vi som standard stter set foran makronavnet er, at det s direkte udfra makronavnet er klart hvad der er tale om. I Eksempel 3.37 nder man en masse eksempler p mngdemakroer.
\DeclareMathSet{N} \DeclareMathSet{Z} \DeclareMathSet{Q} \DeclareMathSet{R} \DeclareMathSet{C} \DeclareMathSet[format=\mathrm,prefix=group]{GL} \DeclareMathSet[format=\mathrm,prefix=group]{Mat} \DeclareMathSet[format=\mathrm,prefix=group]{U} % unitre gruppe, \groupU=\mathrm{U} \DeclareMathSet[formath=\mathrm,prefix=group]{SU} ... % \numbersN % \numbersZ

Eksempel 3.37

Man husker naturligvis at en variabel, som er en mngde f.eks. X, ikke skal skrives upright. Anvender man s tit specielle kombinationer s er det jo nemt at lave sig en ny makro to laver en kombination, f.eks.
\newcommand\numbersRmodZ{\numbersR/\numbersZ}

og s f R/Z.
3.2.6 . . . (prikker)

Eksempel 3.38

Som det ogs er tilfldet i almindelig tekst skriver man ikke . . . via ... (tre punktummer) i matematik. Den vigtigste makro til at lave . . . med er
\dots
\dots

som har den fordel at den i matematik-mode er semi-intelligent, forstet p den mde at alt efter hvad der str efter \dots justerer den sig selv s den str frit svvende eller solidt plantet p basislinien.
$1,\dots,5$, $1<2<\dots<7$, \\ $x_1=x_2=\dots=n_n$, $1+2+\dots+6$

1, . . . , 5, 1 < 2 < < 7, x1 = x2 = = nn , 1 + 2 + + 6

Eksempel 3.39

S i en opremsning indstter man bare \dots og lader den gre arbejdet. Der er en enkelt undtagelse vedrrende produkter, her anvendes i stedet flgende eksempel:15
$x_1\cdots x_n$ eller $x_1\cdot\ldots\cdot x_n$.

\ldots

x1 xn eller x1 . . . xn .

Eksempel 3.40

Nr prikkerne kommer til slut har \dots ikke noget at kigge efter makroen (en uendelig fortsttelse), den vil derfor altid st p baseline. Her m man s selv srge for at indstte \cdots nr det er ndvendigt. Den generelle regel er at der skal anvendes \cdots i nsten alle tilflde undtagen nr prikkerne afslutter en komma-separeret opremsning,16 dvs.
$x_1,x_2,\dots$ og \emph{ikke} $x_1,x_2,\cdots$!

\cdots

x1 , x2 , . . . og ikke x1 , x2 , !

Eksempel 3.41

15 Se f.eks. Chicago (2003). 16 Se Chicago (2003) eller Swanson (1999).

59
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Downes (2002) afsnit 4.6. nvner desuden visse andre dot-konstruktioner til anvendelse i slutningen af en uendelige opremsning. Tabel 3.11 er en oversigt over almindelige A dots-konstruktioner i L TEX.
A Tabel 3.11: Dots i L TEX

\dots \cdot \cdots \ddots \vdots \ldotp \ldotsa

x + + y xy X1 Xn .. . . . . x. y x, . . . , z

beskrevet ovenfor en enkelt centreret prik ere centrerede prikker diagonale dots vertikale dots en enkelt dot p baseline, som et punktum bare med en anden spacing, sammenlign med x.y dots p basislinien, kan ogs anvendes i den almindelige tekst

Se ogs Downes (2002) afsnit 4.6.


a Da mange er kommet galt af sted ved at brug af \ldots anbefales det at man holder sig til \dots og

kun bruger \ldots i specialtilflde.

mathdots

\ddots)

I Tabel 3.11 mangler man naturligvis en stigende diagonal-dots (sammenlign med dette kan man f via pakken mathdots der ogs laver bedre implementeringer af visse andre dots konstruktioner.
\usepackage{amsmath,mathdots}
slut preamble

Eksempel 3.42

\begin{equation*} \begin{pmatrix} & 1 \\ & & \iddots & *\\ & \iddots & * & * \\ 1 & * & * & * \end{pmatrix} \end{equation*} & &

..

1 . . .

3.2.7

Matematiske accenter

Det er vigtig at huske at accenterne man anvender i den normale tekst er ikke de samme som man anvender i matematik faktisk er de ikke tilladt i matematik, man skal derfor anvende helt andre konstruktioner nr det glder matematik, her har accenterne normalt ogs andre fortolkninger. En oversigt kan ses i Tabel 3.12. Bemrk at det ikke er noget umiddelbart problem at lgge accenter p accenter, men husk at de sm accenter centreres over symbolet, hvilket kan se lettere underligt ud, e.g. A ($\tilde{\underline{A}}$). Problemet kan lses ved at ndre rkkeflgen, s man laver tilden frst A.
Eksempel 3.43
\begin{equation*} \hat{\bar{x}}+\tilde{\underline{B}}=2 \end{equation*}

x+B = 2

Man br ogs huske at passe lidt p nr man vil stte en accent p en variabel med index. Det ses tit at folk skriver \hat{x_j} hvor man egentlig mente \hat{x}_j.
Sidebemrkning 3.16.
60
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Matematiske accenter

Tabel 3.12: Matematiske accenter

Kode
\hat{

Eksempel txt } txt }a txt }a txt } a XXX g YYY b x+y A x txt }d txt }e txt }tn:10 x abc xyz xyz a ` a a a a

\widehat{ \tilde{

\widetilde{ \bar{

txt } txt } txt }b

\overline{

\underline{ \dot{ \vec{

txt

}c

txt }

\overrightarrow{

\underrightarrow{

\overleftrightarrow{ \acute{ \grave{ \breve{ \check{

txt } txt } txt } txt } txt }g

\mathring{

a Strkker sig til en vis grad efter teksten. Mngden af strkbarhed afhnger af fonten, men den

gr normalt ca. ved bredden af XXXXXX. Visse kommercielle fonte ser ud til at kunne klare mere. Nogle anvender disse tegn til at markere en eller anden operation, dette giver problemer nr det som der skal opereres p bliver meget bredt. Her bliver man enten ndt til f.eks. at skrive (F(X) + G(y)) eller evt. selv lave en makro som kan tegne et symbol kan strkke sig endnu mere, se evt. TikZ. b Denne strkker sig efter teksten og kan desuden anvendes i den almindelige tekst. c Findes ogs i \ddot, \dddot og \ddddot varianter. d Der ndes naturligvis ogs en \leftoverarrow med samme syntaks. Strkker sig efter bredden af teksten. e Tilsvarende for \underleftarrow. f Der ndes ogs en \underleftrightarrow. g Denne skal ikke anvendes til at lave vokalen i matematik mode.

Man bedes desuden bemrke problemet mellem accenter og dobbelt sub- eller superscript, se Bemrkning 3.28.
Sidebemrkning 3.17.

Fr man begynder f.eks. at tnke p at placere en accent ovenp e.g. et = br man lige tage et kig i symbollisten, evt. i Pakin (2003).
Sidebemrkning 3.18.

Til tider kan det vre en fordel at kunne f.eks. placere () oven p et = for at kunne forklare noget om dette senere. Dette kan gres via
61
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

\stackrel

\stackrel{

over }{ symbol }

\mathclap

mathtools

Selve over -delen bliver man often ndt til at pille ved, thi den nemt kan blive breddere end symbol -delen og derfor delge justeringen i formlen. Kan kses via \mathclap fra mathtools-pakken.
\usepackage{mathtools}
slut preamble

Eksempel 3.44

\begin{align*} f(x)&\stackrel{\mathclap{(*)}}{=} g(x+3) \\ &=5 \end{align*}

f (x) = g(x + 3) =5

()

Generelt br man ikke skrive noget som er alt for bredt over et sdant symbol. Fr man begynder at lave nye symboler p denne mde br man lige tjekke symbollisterne om der ikke er noget man kan anvende. Anvend ikke \stackrel til at skrive over en almindelig pil, se i stedet afsnit 3.2.1. Man vil nok opdage at V (\bar{V}) ikke er videre pnt, og at V (\overline{V}) forekommer lidt lang (tykkelsen kan vi ikke helt gre noget ved). Via lidt magi og mathtools-pakken, kan vi lave en lidt bedre marko
Tip 3.19.
Kodetip 3.3
% krver mathtools \DeclareRobustCommand\altoverline[2][0.8]{% \mathmakebox[\widthof{#2}][c]{\overline{\mathmakebox[\widthof{#2}*\real{#1}][c]{#2}}}}

Dette giver s V i stedet, hvilket er lidt bedre. Man kan gre stregen kortere via
Eksempel 3.45
$\altoverline[0.65]{XYZ}$

XY Z

3.3

Hegn

hegn

Et hegn (eller delimiter eller afgrnser ) er et symbol eller oftere et par af symboler med den egenskab at de fs i forskellige (indbyggede) strrelser samt kan strkkes hvis man har noget meget hjt.
Denition 3.20.

Et simpelt eksempel er naturligvis de almindelige parenteser ( ) eller , men / er ogs et hegn (som kan skaleres). Se tabel 3.13.


Eksempel 3.46

I stedet for \vert kan man ogs anvende |-tegnet og i stedet for \Vert kan man anvende \|. Men anvend dem (\vert, \Vert, | og \|) med varsomhed, thi
Formaning 3.21.
$|-x| \neq \lvert -x\rvert$ og $\|-x\| \neq \lVert -x\rVert$

| x|

|x| og x

hvilket giver forkert spacing.


62
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Om \left og \right

Tabel 3.13: Indhegnings- og afgrnsersymboler


( ) \lceil \rceil \langle \rangle [ ] \lfloor \rfloor \llbracket \rrbracket \lVert \rVert / \Vert \backslash . \vert \{\} \lgroup \rgroup* \lvert \rvert

(se 3.3 side 63)

* virker kun forstrret, i.e. kun hvis man stter f.eks. \bigl eller \bigr foran. krver pakken stmaryrd

Man kan s manuelt skalere sit hegn vedat foranstille en af makroerne \Bigr) \bigl( \Bigl( \biggl( \Biggl( \Biggr) \biggr)
\left,\right

\bigr)

beskrevet p denne side

\bigm. . . \Biggm

beskrevet p den flgende side

Der ndes ogs \big-varianter uden l eller r til slut, disse kan ogs bruges, men det er en god ide lige at lse teksten side 382 for et eksempel p hvorfor vi har valgt at koncentrere os om l- og r-varianterne.
Sidebemrkning 3.22.
\big-makroerne (samt \left og \right) kan kun anvendes foran tegn eller symbolnavne

som kvalicerer som hegn. F.eks. er symbolet \mid ikke en afgrnser, selv om man skulle tro det, og faktisk anvendes \mid ofte som mngdebygger og man bliver s nd til at anvende \bigm\vert for at f symbolet i den nste strrelse. :
Lad $A=\{x\mid x\geq 0\}$ og \[ B=\bigl\{x\in A \bigm| x<\tfrac{1}{2}\bigr\}. \]

Lad A = {x | x 0} og B= xA x<
1 2

Eksempel 3.47

Sidebemrkning 3.23.

Som en bizar bemrkning kan nvnes at symboler som

\downarrow, \uparrow, \Downarrow, \Uparrow, \updownarrow og \Updownarrow faktisk ogs

kan skaleres med nvnte konstruktioner.

Om \left og \right
\left

og \right anvendes altid som par, til at give et hegn som er skaleret efter det som de omslutter.
\begin{equation*} \left(\frac{1}{x^2+1}+2\right)^2 \end{equation*}

\left \right

1 +2 2+1 x
63

Eksempel 3.48

Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Hvis man har en situation hvor man kun skal bruge den ene afgrnser i et par, skal man bare angive den anden som det tomme hegn . (punktum).
Eksempel 3.49
\begin{equation*} \left. \sum_{i=1}^\infty \right\}\Rightarrow \end{equation*}

i=1

cases

Se desuden cases-environmentet, beskrevet p side p side 71.


Formaning 3.24.


Eksempel 3.50

Man skal dog afholde sig fra bare at tnke: ok, det srger jeg bare for at skrive hele tiden

Det bliver nemlig hurtigt grimt:


\begin{equation*} \left(\sum_{k_j} k_j^2 \right) \quad \text{vs.}\quad \biggl(\sum_{k_j} k_j^2 \biggr). \end{equation*}

I eksemplet til hjre har vi skaleret ()-erne pr. hndkraft sledes at de ikke lngere er s dominerende. Hvilke \bigl/r-konstruktioner som skal anvendes afhnger af situationen. Ofte m man prve sig frem, med en vis erfaring kan man nemt gtte de bedste strrelser. Til summer med grnser anvendes ofte \biggl/r-konstruktionen.

kj

2 kj

vs.
kj

2 kj .

I den almindelige tekst br man holde sig fra \left og \right, samt alle hegn strre end dem man kan f via \big-konstruktionen. Strre hegn kommer nemt til at forstyrre linieafstanden.
Formaning 3.25.

Varianten \middle
A Hvis man anvender en moderne L TEX installation (hvilket de este gr), har man ud over \left og \right ogs en \middle-makro som anvendes til at skalere hegn mellem et \left. . . \right-par.
\[ \left\{ x\in\mathbb{R}\,\middle|\, \frac{1}{x}>5\right\} \]

\middle

Eksempel 3.51

xR

1 >5 x

Om m-varianterne af \big. . . \Bigg

\bigm \Bigm \biggm \Biggm

Til tider vil man gerne forstrre delimiters som ikke er anvendt som et par, f.eks. i en mngdebygger konstruktion. Til dette anvender man \bigm, \Bigm, \biggm eller \Biggm, det specielle ved disse er at de efterlader automatisk lidt ekstra plads p begge sider af symbolet.
\begin{equation*} \biggl\{x \biggm\vert \sum_{n=1}^\infty f(x,n) <\infty \biggr\} \end{equation*}

Eksempel 3.52

n=1

f (x, n) <

64
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Almindelige matematiske konstruktioner

Her kan man jo selv prve at se hvordan det ser ud med en af de andre typer \big. Man kan ogs anvende dem til at give noget mere luft:
\begin{equation*} \lim_{k\to\infty}\biggm[ \sum_{n=1}^k n^2\Bigm / \sum_{n=1}^k n^3\biggm] <\infty \end{equation*}

k k

lim

n
n=1

k n=1

<

Eksempel 3.53

3.4

Almindelige matematiske konstruktioner

Lseren opfordres desuden til at lse appendix A for at lre hvordan man selv laver simple makroer. Et meget anvendt eksempel er naturligvis:
Sidebemrkning 3.26.
\newcommand{\R}{\mathbb{R}}

Se ogs afsnit 3.5.


Sub- og superscript

Eksempel 3.54

Sub- hhv. superscript angives via tegnene _{ argument }og ^{ argument }. Skulle argument kun bestr af t bogstav, tal eller et enkelt makronavn (uden argumenter) kan man se bort fra {}, men generelt anbefales det at man altid tager dem med. Visse kommende pakker (breqn) vil altid pkrve brugen af {}erne. Fontstrrelsen bliver automatisk mindre nr man anvender sub- eller superscript
\begin{equation*} x^2+y_i+z_j^{3+35b}. \end{equation*}

3+35b x2 + yi + zj .

Eksempel 3.55

Vi vil se lidt mere p specielle konstruktioner med sub- og superscript i den vede del. Her forklares bl.a. hvordan man kan lave 14 C. 17 6

Advarsel 3.27. Der glder en speciel regel vedrrende sub- og superscript. Man m ikke lave dobbelte sub- eller superscripts, dvs. ingen a^b_c^d. Problemet er selvflgelig d at man ikke kan se om man mener abcd eller abc eller abd . Derfor skal man altid srge c for at huske sine {}-er i en sdan situation.

Der er en lille bizar hage ved sup- og superscipt nr man blander det sammen med tegn hvor man har placeret en accent p. Hvor ${x^*_i}^2$ fungerer nt (giver xi 2 ) s gr ${\hat{x}^*_i}^2$ ikke! Man kan lse en forklaring p http://groups.google.it/group/comp.text.tex/ msg/05a62d404223e13f. Af underlige rsager bliver man alts ndt til at anvende 2 ${{}\hat{x}^*_i}^2$ i stedet (det giver xi ), bemrk {}-parret indsat i starten.
Sidebemrkning 3.28.

65
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Brker
\frac

Brker laves via \frac{ tller }{ nvner }. Strrelsen p brken afhnger af om brken er skrevet i tekst- eller fremhvet matematiksammenhng.
Hvis $x>\frac{1}{2}$ glder at \[ \frac{1}{4}g(x)^2-35 <0. \]

Eksempel 3.56

Hvis x >

1 2

glder at 1 g(x)2 35 < 0. 4

\tfrac \dfrac

Brken kan tvinges over i sin teksttilstand via \tfrac og i den fremhvede version via \dfrac. Man anvender ofte \tfrac i fremhvet matematik hvis der er tale om stambrker og disse er det eneste som rager op p linien
\[ \frac{1}{2}\log(5) \qquad \tfrac{1}{2}\log(5). \]

Eksempel 3.57

1 log(5) 2

1 2 log(5).

Der ndes ogs en mindre kendt version der bruges til at lave uendelige (eller lignende) brker: \cfrac{ tller }{ nvner }
Eksempel 3.58
\begin{equation*} \cfrac{1}{1+ \cfrac{1}{1+ \cfrac{1}{1+\cdots}}} \quad\text{vs.}\quad \dfrac{1}{1+ \dfrac{1}{1+ \dfrac{1}{1+\cdots}}} \end{equation*}

1 1+ 1+ 1 1 1 +

vs. 1+

1 1 1+ 1 1 +

mathtools
\splitfrac

Til tider har man brug for at lave en form for deling eller lignende for en brk med en lang tller. Dette kan opns via pakken mathtools, se ogs afsnit 4.5. Makroen \splitfrac{ vre }{ nedre } er hvad vi leder efter.18
\usepackage{mathtools}
slut preamble

Eksempel 3.59

\begin{equation*} a=\frac{ \splitfrac{aa+ab+ac+ad}% {+ae+af+ag+ah} }{2} = 5 \end{equation*}

aa + ab + ac + ad + ae + af + ag + ah a= =5 2

Binomialkoefcienter
\binom \tbinom \dbinom

Disse laves via \binom{ n }{ k }, med varianterne \tbinom og \dbinom.

17 FiXme Note: dette har vist ikke helt med endnu 18 Der ndes ogs en \splitdfrac udgave.

66
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Rodfunktionen

$\binom{n}{k}$ angiver antallet af mder hvorp man kan placere $k$ bolde i $n$ kasser. \begin{equation*} \binom{n}{0}\equiv 1 \end{equation*}

angiver antallet af mder hvorp man kan placere k bolde i n kasser. n 1 0

n k

Eksempel 3.60

Indrmmet denne tekst udgave af en binomialkoecient er ikke srlig pn. Her er en anden mulighed:
tekst $\bigl(\begin{smallmatrix} n \\ k \end{smallmatrix}\bigr)$ tekst

tekst

n k

tekst

Eksempel 3.61

Man kan s anvende denne konstruktion til at lave sin egen binomial-makro, i den forbindelse vil makroen \mathchoice nok vre hjlpsom, se Eksempel 3.24 for et eksemepl p brugen af \mathchoice.
Rodfunktionen

Makronavnet er oplagt \sqrt[ grad ]{ mat }


\begin{equation*} \sqrt{\frac{n}{n^2+1}} -\sqrt[5]{2}=11 \end{equation*}

\sqrt

n 5 2 = 11 2+1 n

Eksempel 3.62

Se desuden Mittelbach og Goossens (2004) side 506507 som forklarer hvordan man kan justere ved placeringen af roden.
Modulus

Nr man skal angive at noget er kvivalent med noget andet modulo noget tredje, har man forskellige muligheder, se eksempel 3.63 (bemrk det indsatte mellemrum).
\begin{align*} & x \equiv y \mod c & m \bmod n & x \equiv y \pod{c} \end{align*} \\ \\

xy

mod c (mod c) (c)

\mod \bmod \pmod \pod

m mod n xy xy
Eksempel 3.63

& x \equiv y \pmod{c}\\

Aedt funktion

I matematik-mode er apostroen blevet et alias for tegnet \prime skrevet som superscript (i.e. i math-mode er ' det samme som ^\prime), herved kan man bare skrive
\[ f' \quad f'' \quad f''' \]

Eksempel 3.64

Et af mine ynglingseksempler vedr. hjemmelavede makroer vedrrer partielt aedte:


\newcommand\diff[3][\partial]% {\frac{#1 #2}{#1 #3}}
slut preamble

f dx x dt

Eksempel 3.65

\[ \diff{f}{x}\diff[d]{x}{t} \]

67
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Eksempel 3.65 viser styrken ved \newcommand, vi laver en makro, som tager tre argumenter, hvoraf det frste er valgfrit med standardvrdien \partial, de to obligatoriske argumenter er s funktionsnavnet og det man aeder efter, begge kan evt. vre tomme.
Om matricer
matrix pmatrix bmatrix Bmatrix vmatrix Vmatrix
Eksempel 3.66

Pakken amsmath giver os seks beslgtede matrix-konstruktioner:


\begin{align*} \begin{matrix} &\quad \begin{pmatrix} a & b \\ c & d \end{pmatrix} \\ % nste linie \begin{bmatrix} a & b \\ c & d \end{bmatrix} &\quad \begin{Bmatrix} a & b \\ c & d \end{Bmatrix} \\ % nste linie \begin{vmatrix} a & b \\ c & d \end{vmatrix} &\quad \begin{Vmatrix} a & b \\ c & d \end{Vmatrix} \end{align*} a & b \\ c & d \end{matrix}

a b c d a b c d a b c d

a b c d a b c d a b c d

mathtools dcolumn

De forskellige navne henviser alts til hvilket hegn der er anvendt. Alle indgangene i matricerne bliver automatisk centreret. Dette kan vre et problem i visse tilflde. Igen lser mathtools problemet med -ede versioner af ovenstende environments. Her kan man s, med et valgfrit argument angive alignment i sjlerne via sjlerne (l, c (standardvalg) eller r). Faktisk kan man ogs kombinere dette med en dcolumnsjlespecier, se afsnit 7.4.1.
\usepackage{mathtools}
slut preamble

Eksempel 3.67

\begin{equation*} \begin{bmatrix*}[r] -1 & 2 \\ 0 & -5 \end{bmatrix*} +A =0 \end{equation*}

1 2 +A =0 0 5

smallmatrix

Skulle man have brug for en matrix i selve teksten, eller bare vil have noget med en mindre font end X matrix kan man anvende smallmatrix-environmentet. Her skal man selv huske at indstte hegn.
lad $A=\left( \begin{smallmatrix} s er \begin{equation*} A\bigl[\begin{smallmatrix} 1\\ 0 \end{smallmatrix} \bigr] =\bigl[\begin{smallmatrix} a \\ c \end{smallmatrix}\bigr] \end{equation*} a & b \\ c & d \end{smallmatrix}\right)$

Eksempel 3.68

lad A =

a b c d

s er A
1 0

a c

Man br ikke anvende de store matricer i selve teksten, men kun i fremhvede formler, idet de ellers forstyrrer linieafstanden.
Sidebemrkning 3.29.
68
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Om matricer

Sammenligner man matrix-konstruktionerne ovenfor med med array (nste afsnit), s ser man at AMS-konstruktionerne ikke siger noget om hvor mange sjler der er i matricen. De har i stedet et vre antal som er predeneret. Dette er normalt ikke noget problem, men nr man har over 10 sjler s fr man en fejl. Dette lser man via
Sidebemrkning 3.30.
\setcounter{MaxMatrixCols}{20}

placeret i preamble efter man har indlst amsmath-pakken.

Eksempel 3.69

Matrix konstruktioner via array

Man har ogs en tredje konstruktion man kan anvende til matricer og matrixagtige konstruktioner: cols } celle 1 & celle 2 & . . . & celle n \\ ...
\begin{array}{ \end{array}

array

Med { cols } skal man specicere justeringen af sjlerne, her anvendes bogstaverne c, l og r som hver isr ogs betyder n sjle, ergo er ccll re sjler. Man skal selv indstte hegn.
\[ \left[ \begin{array}{ccc} a & b & c\\ \end{array} \right] \] d & e & f

Eksempel 3.70

a b c d e f

Syntaksen er njagtigt den samme som for tabeller (se kapitel 7). Med denne konstruktion kan man sagtens lave streger i matricen.
\[ \left[ \begin{array}{@{} c | c @{}} A & B \\ \hline C & D \end{array} \right] \]

Eksempel 3.71

A B C D

Bemrk brugen af @{} for at fjerne den ekstra luft ved hegnene. Man kan desuden indlejre matricer.

69
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Eksempel 3.72

\[ \left[ \begin{array}{ c \begin{matrix} 0 & 1 \\ 1 & 0 \end{matrix} & \begin{matrix} \text{\Huge $0$} \end{matrix} \\ \hline \begin{matrix} \text{\Huge $0$} \end{matrix} & \begin{matrix} 0 & c \\ d & 0 \end{matrix} \end{array} \right] \] | c }

0 1 1 0

0 c d 0

Her bliver vi ndt til at anvende \text{\Huge $0$} for at kunne f nullet i en strre strrelse, thi man m ikke bruge makroerne til skift af fontstrrelse i matematik-mode.
Et hack med array

Environmentet array fungerer p samme mde som environmentet tabular som normalt anvendes til tabeller (tabular beskrives senere, se kapitel 7). Vi har allerede set at man kan indstte linier en en array, men vi kan ogs fuske lidt med mellemrummet mellem sjlerne. Dette er dog kun noget som br anvendes i meget hjt specialiserede tilflde. Eksemplet som flger er p opfordring af Morten Risager.
Eksempel 3.73
\[ \left[ \begin{array}% {c @{\hspace{-15pt}} c @{\hspace{-15pt}} c c } y_1\cdots y_{n-1} \\ & y_1\cdots y_{n-2} \\ & & \ddots\\ & & & 1 \end{array} \right] \]

y1 yn1 y1 yn2 .. .

Ideen er at f en diagonalmatrix til at fremst lidt mere visuelt diagonal. Det er ren kosmetik, s dette er kun noget man skal bruge i specialtilflde.
Blkarray-pakken
blkarray

Med blkarray-pakken kan man lave nogle lidt mere specielle matricer. Konstruktionen er specielt nyttig hvis man skal have nummereret sjlerne i en matrix. Vi vil her bare give et par eksempler og s ellers henvise til Carlisle (1999a). De forskellige environments kan sagtens anvendes bde i og udenfor matematik-mode.

70
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Gaffelfunktioner

\usepackage{blkarray}
slut preamble

Eksempel 3.74

\[ \begin{blockarray}{c c c c } & & j & \\ \begin{block}{c [ c c c ]} & * & \vdots & * \\ i & \dots & ij & * \\ & * & * & * \\ \end{block} \end{blockarray} \]

i . . .

j . . . ij

Matrixoprationer

Skulle man have brug for f.eks. at illustrere matrixoperationer, s kan pakken gauss vre en hjlp. Vi vil ikke g i dybden med pakken, men i stedet henvise til Kauers (2002). Her er et eksempel:
\usepackage{gauss,amsmath}
slut preamble

gauss

Eksempel 3.75

\begin{align*} & \begin{gmatrix}[p] 1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \colops \swap{1}{2} \rowops \swap{0}{1} \mult{0}{\cdot 7} \add[5]{1}{2} \end{gmatrix} \\[4mm] &\qquad= \begin{pmatrix} 28 & 42 & 35 \\ 1 & 3 & 2 \\ 12 & 24 & 18 \end{pmatrix} \end{align*}

1 2 4 5 7 8

28 =1 12

3 | 7 6 5 9 +

42 35 3 2 24 18

Outputtet skal lses som at: Man har ombyttet sjle 1 og 2 (frste sjle/rkke har nummer 0. S har man byttet om p rkke 0 og 1, samt ganget den nye rkke 0 med 7. S har man ganget rkke 1 med 5 og lagt den til rkke 2.
Gaffelfunktioner

For de, som ikke kender navnet, er der alts tale om konstruktioner lignende
f(x)= \begin{equation*} \begin{cases} 1 & \text{for \end{cases} \end{equation*} $x\in \mathbb{Q}$}\\ 0 & \text{ellers}

1 for x Q f (x) = 0 ellers


71

Eksempel 3.76

Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

cases

cases vil alts lave en n 2 matrix-konstruktion med en stor { til venstre. Indgangene skrives automatisk i textstyle, dvs.
f(x)= \begin{equation*} \begin{cases} \sum_{n=1}^\infty n^x & \text{for } x\in \mathbb{Q}\\ 0 & \text{ellers} \end{cases} \end{equation*}

Eksempel 3.77

f (x) = 0

x n=1 n

for x Q ellers

dcases mathtools
Eksempel 3.78

nsker man at have indgangene i fuldstrrelse (displaystyle) kan man anvende dcases fra pakken mathtools, eller indstte \displaystyle pr. hndkraft.
\usepackage{mathtools,amssymb}
slut preamble

\begin{equation*} f(x)= \begin{dcases} \sum_{n=1}^\infty n^x & \text{for } x\in \mathbb{Q}\\ 0 & \text{ellers} \end{dcases} \end{equation*}

nx f (x) = n=1 0

for x Q ellers

empheq

Til mere specielle konstruktioner kan pakken empheq anbefales, se evt. Eksempel 4.63.
Over/underbrace

\overbrace \underbrace

Med makroerne \overbrace{ txt } og \underbrace{ txt } kan man lave en { som spnder over/under den givne tekst. Man kan s tilfje kommentarer som sub- eller superscript.
\begin{equation*} \underbrace{\overbrace{\dbx[15mm]}^{2} + \overbrace{\dbx[2cm]}^{4}}_{2+4}=6 \end{equation*}

Eksempel 3.79

+
2+4

=6

\overbracket \underbracket

Hvis teksten man spnder over ikke er ret bred kan det blive ret grimt. Pakken mathtools har ogs en \overbracket og en \underbracket med samme syntaks. Pakken giver desuden en bedre implementation af \underbrace, se Hgholm (2008b).
Grnser i ere lag

Grnser i ere lag kan opns via


\substack

\substack{

linie 1\\ linie 2 . . . }

Eksempel 3.80

\[ \sum_k \sum_{\substack{j\geq k\\ j \text{ lige}}} \]

jk j lige

Dette er igen en god grund til ikke at anvende \left. . . \rightkonstruktioner omkring de store operatorer.
Formaning 3.31.
Fortsttes p nste side 72
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

Restingering/evaluering af funktioner

\[ \sum_k \left[ \sum_{\substack{j\geq k\\ j \text{ lige}}} \right] \]

jk
j lige

Eksempel 3.81

Restingering/evaluering af funktioner

Til tider skal man restingere en funktion eller evt. evaluere en partielt aedet i et punkt. En syntaks man ofte anvender til dette er
\begin{equation*} \frac{\partial f}{\partial x} \Bigg|_{x=0} \end{equation*}

f x

Eksempel 3.82

x=0

Hvis man ikke skalerer | s kan man godt risikere at det man evaluerer i kommer til at sidde lidt for hjt p |, sammenlign Eksemplerne 3.82 og 3.83.
\[ F|_{x=0} \]

F|x=0

Eksempel 3.83

Nr, det man placerer subscript p, har en normal hjde og der ikke er noget superA script, s vil L TEX placere subscriptet hjere end, hvis der var et superscript. Dette man man s afhjlpe ved at anvende et tomt superscript, f.eks. med ^{} eller med \mathstrut.19
\[ F|_{x=0}^{\mathstrut} \quad F|_{x=0}^{} \quad \text{versus} \quad F|_{x=0} \]

\mathstrut

F|x=0

F|x=0

versus F|x=0

Eksempel 3.84

3.5

Nogle almindelige hjemmelavede makroer

I sit DK-TUG foredrag i februar 2010 (http://www.tug.dk/ kom Rasmus Villemoes med en ret god pointe vedr. brugen af egne makroer. Nemlig at man skal passe p nr man bruger den samme syntaks for to forskellige ting. Rasmus eksempel var kardinaliteten af en mngde A. I nogle artikler skrives kadinaliteten som |A|, s man kunne nemt nde p at anvende \abs{A}. Men det ville vre en drlig ide, for hvad nu hvis man senere nder ud af at man bedre kan lide syntaksen #A? S skal man rette en masse pr. hndkraft og sidde og tolke p teksten i mens. Lsningen er naturligvis at lave en separat makro til at betegne kardinaliteten af mngder, f.eks.
Sidebemrkning 3.32.
foredrag/2010-02-02)
\newcommand\cardiNum[1]{\abs{#1}}

s kan man nemt skifte det senere.


Fortsttes p nste side
19 Det er ikke s tydeligt med kpfonts.

Eksempel 3.85

73
Kapitlet er sidst opdateret 2010/04/28 21:04 (revision 679)

3. Introduktion til matematik

Her er forresten er lidt skummelt trick. Str \abs som det sidste i erstatningsteksten, s behver man ikke angive argumenter, i.e.
Eksempel 3.86
\newcommand\cardiNum{\abs}

er faktisk nok.
Diverse

Eksempel 3.87

\newcommand\morf[4][\to]{#2\colon #3#1 #4} % \morf{f}{A}{B} = f\colon A\to B \newcommand\diff[3][\partial]{\frac{#1 #2}{#1 #3}} \newcommand\inverse{^{-1}} % hvis man tit skal skrive ^{-1}, ie $X\inverse$ \newcommand\isomorph{\cong} % \cong anvendes ofte til dette \newcommand\homotopyeq{\simeq} % fra topologi \newcommand\DistAs{\sim} % X \DistAs N(0,1) \newcommand\ObsFromDist{\sim\sim} % observation fra variabel distribueret som... \newcommand\DistEq{\stackrel{\smash{\scriptscriptstyle(d)}{=}}} % lighed i distribution

74

Ting man nder senere i bogen

Af forskellige rsager er der en del ting som vi har valgt ikke at tage med i selve introduktionsdelen af bogen, dette glder f.eks. layout kongurering, tabeller, litteraturlister osv. Disse nder man i senere kapitler i bogen. Her er en hurtig oversigt: Yderligere informationer om matematiske konstruktioner samt om konstruktionen af Stninger, Lemmaer etc. nder man i Kapitel 4 samt i Kapitel 5. Inklusion af ekstern grak, dvs. tegninger, billeder etc, nder man i Kapitel 6. Konstruktion og opstilling af tabeller, se Kapitel 7 Litteraturliste og citering af litteratur, se Kapitel 8. Justering af layout, se Kapitel 11 samt Kapitel 13. God fornjelse.

75

A L TEX-overbygning

Fjerde Kapitel

Matematik p et hjere niveau


I dette kapitel vil vi forklare lidt mere om de forskellige konstruktioner vedrrende matematik. Vi vil ofte koncentrere os om fremhvet matematik, idet dette er hvor man har mest rderum. I mange af eksemplerne vil vi anvende flgende hjemmelavede makro \dbx som giver , i stedet for direkte at skrive et ligegyldigt matematisk udtryk. Vi begynder kapitlet med anbefalinger til hvor og hvordan man deler matematiske formler.
4.1 Matematisk typogra

Dette er ikke noget man lrer nogen steder, s her er et minikursus.


4.1.1 Hvor m man dele en formel?

A Man har sikkert allerede opdaget at L TEX automatisk vil lave linieombrydning visse steder i tekstbaserede formler (formler i $...$) mens den overhovedet ikke laver nogen linieombrydning i fremhvet matematik. Der ndes vejledninger i hvordan formler br deles over linier, dog ikke s meget regler/retningslinier men mere i trd med sdan br man gre. Flgende vejledning er baseret p anbefalingerne fundet i Swanson (1999, kapitel 3), Chicago Manual of Style (kapitel 14) og Knuth (1986).1

For at kunne f terminologien p plads s lad os beskrive symboler s som: +, , , , , , o.lign. som vrende operationer og symboler i kategorien: =, , , , , , etc. som vrende relationer. Samtidigt betegnes parenteser og andre (par af) afgrnsere/delimiters som hegn. De store operatorsymboler , etc. anses for at vre i en klasse for sig, vi vil her betegne dem som store operatorer.
Denition 4.1.

4.1.2

Formelombrydning af matematik i teksten

Med hensyn til liniebrydningen af matematik i teksten, er dette noget man frst br begynde at rette p, nr man er helt frdig med at skrive sin tekst. Mens man skriver, eller hvis man senere skal justere marginerne, ved man jo p forhnd ikke hvor linieombrydningerne kommer til at vre og derfor er det spild af tid at rette den slags mens man skriver. Ret det i stedet til allersidst. Dog kan man sagtens ombryde fremhvede formler mens man skriver teksten. Vejledningen flger herunder, visse kan mske lyde en smule sre, men husk at dette glder matematikken i teksten, vejledningen for fremhvede udtryk kommer senere, i afsnit 4.1.3. Vi vil anvende tegnet til at markere de punkter hvor det er tilladt at dele.
1 Chicago Manual of Style og Knuth nvner begge Swanson.

79
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

Sidebemrkning 4.2. For en god ordens skyld minder vi lige om at punkterne (a) (f) herunder beskriver anbefalingerne om hvordan man som skribent br dele sine A formler i teksten. Der er alts ikke tale om hvordan L TEX vil om muligt dele en formel i teksten. Dette ser vi p i afsnittet 67 side 81. Bemrk ogs at der her er tale om formler i teksten, ikke om fremhvede formler, hvilket vi kommer til p side 82.

(a) Om ndvendigt m der deles fr eller efter enhver relation eller operator (samt efter komma og semikolon) som ikke er omkranset af hegn. . . . tekst . . . f (x, y) = ( + )+ . . . tekst . . .

Oftest er det i tekst-matematik bedre at dele efter relationer end fr (thi s ved lseren, at der kommer noget mere p nste linie). For mere vedrrende indhegnede udtryk, se regel (f). (b) En formel m deles ved ethvert (manuelt) indsat mellemrum strre end thin space (\,), f.eks. indsat spacing med \ og \quad. Et simpelt eksempel er
Eksempel 4.1
$f(x_n)=1\ \forall n\geq2$,

f (xn ) = 1 n 2,

her m der gerne deles ved den indsatte spacing (\ ) foran . Hvis der er mulighed for valg, tager regel (b) prcedens over regel (a). (c) Vedrrende store symboler (fraregnet integraltegn) br linieombrydningen vente indtil frste operation eller relation som forekommer udenfor hegn. . . . tekst . . . ( + )+ = . . . tekst . . .

Vedrrende integraler br man vente med delingen til efter dx etc., dog br dx + dy ikke deles (hopla meget pdagogisk). (d) Har man to tilstdende par af hegn, m man dele mellem disse forudsat at der efter delingen indsttes et passende gangetegn ( eller ). . . . tekst . . . ( + )( + ) . . . tekst . . . Hvorvidt gangetegnet skal st i slutningen af linien eller i begyndelsen af den nste er op til skribenten. Se ogs afsnittet 67 p side 82. Swanson anbefaler at denne regel undertrykkes nr det indhegnede udtryk har et stort symbol foran. (e) Man br aldrig dele et udtryk ved tegnet /. (f) Vedrrende operatorer og komma / semikolon omkranset af hegn, skal man generelt vre forsigtig med hvor man deler, hvis man bliver ndt til at dele. Det er altid bedst at lade vre. Swanson (1999) anbefaler: For operatorer omkranset af hegn m der deles fr eller efter operatoren (eller efter komma/semikolon) hvis flgende er opfyldt: (i) Hvis der foran et endnu ikke-afsluttet starthegn ikke ndes et bogstav, tal, symbol, hegn eller en stor operator, og (ii) det samme er tilfldet for det efterflgende sluthegn. Eksempler:
Fortsttes p nste side 80
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Hvad gr man nr man ikke kan f det til at passe?

tekst . . .

5( (

+ +

) ) ((

( +

)+

) (4 ))

. . . tekst

Jeg ville nok personligt ikke vre s restriktiv, men i stedet lade min intuition rde. Generelt vil jeg dog sige, at man skal vre opmrksom p ikke at efterlade meget korte udtryk p en af de to linier. F.eks. ville jeg ikke tillade nogen af flgende delinger . . . tekst . . . (a + b) . . . tekst . . .

da (a hhv. b) er alt for korte til at efterlade i hhv. slutningen eller starten af en linie. Tilsvarende ville jeg ogs dele ved komma hvis udtrykket alligevel var til det, se eksempel 4.2. Det hele kommer selvflgelig an p situationen, Dog br man f.eks. nok ikke dele f (x, y) = x + y 2 ved kommaet, med mindre intet andet kan gres.

Hvad gr man nr man ikke kan f det til at passe?

Hvis man ikke kan f sin formel til at passe ordentligt ind, har man to muligheder: (1) omformulr noget af teksten sledes at linieombrydningen bliver anderledes, eller (2) lav udtrykket om fra at vre inline (i teksten) til at vre fremhvet. Ved mindre udtryk vil ((1)) vre at foretrkke, mens det ved mere komplicerede udtryk i stedet altid vil vre bedre at fremhve formlen. Dette glder ogs generelt, det er bedre for lsbarheden af det skrevne, hvis man fremhver komplicerede formler i stedet for at skrive den i teksten.
A Hvor vil L TEX automatisk dele matematiske udtryk i teksten?

A TEX (og dermed L TEX) har lov til at lave linieombrydning af tekstbaseret matematik efter relationer og operationer hvor deling efter relationer har hjere prioritet end A deling efter operationer. L TEX bryder aldrig automatisk fr relationer eller operationer. AT X aldrig ombryde efter komma eller semikolon. P tilsvarende vis vil L E A Bemrk desuden at L TEX ikke kigger p om en operation er indhegnet eller ej, s hvis den laver delinger som man ikke synes om, m man selv trde til for at hjlpe. A nsker man at tillade at L TEX ombryder udtrykket et bestemt sted kan man gre opmrksom p dette via \allowbreak, som virker lidt p samme mde som \- gr A ved orddeling af ord (bare uden bindestregen), den informerer alts L TEX om at p dette sted m den ogs gerne lave ombrydning. Hvorvidt den s bliver anvendt kommer selvflgelig an p situationen. \allowbreak anvendes ofte hvis man nsker at tillade automatisk liniedeling ved et komma:
givet at vi har en funktion $f(x_1, \dots, x_n,\allowbreak y_1,\dots, y_n)$ af $2n$ variable\dots

\allowbreak

givet at vi har en funktion f (x1 , . . . , xn , y1 , . . . , yn ) af 2n variable. . .

Eksempel 4.2

Tilsvarende kan man fratage delingsmuligheden ved at indstte \nobreak p det A sted hvor man ikke nsker at L TEX laver automatisk linieombrydning. Et eksempel A kunne vre udtrykket n 0 hvor L TEX gerne m dele udtrykket efter , dette afvrges via $n\to\nobreak 0$.

\nobreak

81
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

\linebreak

Farlig (ls teksten) 4.3. I den lidt farligere ende nder man makroen \linebreak, som vil fremtvinge et linieskift. Forskellen mellem \linebreak og \newline er at frstnvnte vil strkke afstanden mellem ordene sledes at vi fortsat har en lige hjremargin. Makroen br anvendes med den strste forsigtighed, da resultatet nemt kan blive ret grimt.

Automatisk indsttelse af gangetegn ved linieombrydning

\*

Vender vi tilbage til situationen hvor vi har et produkt som skal deles. Her er problemet A netop det usynlige gange tegn som skal vre synligt efter delingen. Dette kan L TEX faktisk godt hndtere. Anvend makroen \*:
\dbx[2.5cm] $(a+b)\*(c+d)+(a+b)\*(c+d)$

Eksempel 4.3

(a + b)(c + d) + (a + b)(c + d)

Hvis man nsker at lave om p \* sledes at den anvender \cdot i stedet for \times, s kan dette gres via
Eksempel 4.4
\renewcommand{\*}{\discretionary{\thinspace\hbox{\ensuremath{\cdot}}}{}{}}

4.1.3

Formelombrydning i fremhvede formler

Reglerne (a)(f) p side 80 glder for s vidt ogs for fremhvede matematikudtryk, dog med isr en undtagelse. Man m kun dele fr operationer eller relationer og aldrig efter! Desuden glder naturligvis at hvis andet ikke er muligt er det tilladt at bryde reglerne (a)(f). Man kan ikke nedskrive generelle regler for hvordan fremhvede matematiske udtryk skal deles, dette kommer an p den enkelte situation og valget af ombrydningspunkt krver matematisk indsigt dog stadig med flgende in mente: I fremhvet form deles altid fr en relation eller operation, aldrig efter! Dette er faktisk ikke helt korrekt at man ikke kan opskrive regler. Man kunne argumentere for at en del af beskrivelserne p de flgende sider kan danne grundlag for en automatiseret ombrydning af fremhvet matematik. At have sdan en automatiseret opbrydning af fremhvet matematik vil ogs vre en kmpe fordel, man slipper for problemerne med at matematikken skal sttes anderledes op hvis man ndrer marginer. Journaler kan nemt stte artiklen op til at fungere i to-sjle format, uden at pille ved matematikken. Der ndes en pakke som kan det meste af dette, men den indeholder desvrre ogs en del bugs, bl.a. kan den ikke anvendes sammen med memoir -klassen. Der er dog hb, idet Morten Hgholm (mathtools og empheq pakkerne (beskrives A senere) samt medlem af L TEX3-projektet) har ptaget sig at lave en ordenlig implementation af den pgldende pakke. Der kommer forhbentlig en ociel udgivelse i anden halvdel af 2007. Indtil videre ser pakken ret fantastisk ud, men det er ogs ikke s lidt af en programmeringsmssig bedrift faktisk at f dette til at virke.
Sidebemrkning 4.4.

82
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Opstilling af fremhvede (brudte)formler

Opstilling af fremhvede (brudte)formler

Det stridende punkt vedrrende fremhvede formler bliver nu ikke mere hvor m man dele for det er nsten det samme som for matematik i tekst det bliver mere et sprgsml om hvordan man stiller tingene op. Dette vil vi give et bud p her. Konstruktionerne som er anvendt vil blive gennemget i det efterflgende afsnit. Den lodrette linie i visse af de efterflgende eksempler, markerer hvor vi har valgt at placere en eventuel alignment. Forklaring til hvordan de enkelte eksempler er lavet ndes i afsnit 4.2.5. Hvis en lang udregning deles (og der er plads) da justeres til venstre for relations tegn. = = .
Eksempel 4.5

Hvis ikke der er plads, alignes helt til venstre og alle efterflgende linier i udregningen indenteres med 2 em (\qquad).2 Se desuden afsnittet 4.5 p side 100 for en alternativ konstruktion til at opn dette udseende. = = = . Variant (anvendes hvis det frste udtryk er meget langt): = = . Hvis et udtryk ikke kan vre p linien, deles fr operationer og disse linier indenteres yderligere for at fremst som en samlet enhed. Ofte vil \quad vre en n indrykning til hjre for alignmentet (hvis man aligner til venstre for relationen). Her betyder den ekstra \quad-indrykning at linierne som starter med operationer rykkes ind efter relationen som man i forvejen alignede p. = + = .
Eksempel 4.8 Eksempel 4.7 Eksempel 4.6

Man kan naturligvis ogs justere til hjre for relationerne, hvorved man undgr at skulle indrykke de brudte linier. = + = .
Eksempel 4.9

2 Man kan selvflgelig, hvis det er ndvendigt, anvende mindre indrykning, der br dog vre en indrykning

for at fremhve den frste linie.

83
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

Her skal man dog igen vre en smule opmrksom p hvad man gr. Se Tip 4.8. Er der tale om en enkelt formel som dog er meget lang kan eksempel 4.6 og 4.7 ogs skrives hvor man aligner ved operationer, men er der mere end en relation til stede br det altid vre disse man aligner p.
Eksempel 4.10

= + Variant: .

Eksempel 4.11

Hvis det kun er frste linie som er ret lang, kan man naturligvis indentere de efterflgende linier endnu mere, for at f disse centreret lidt bedre under det brede udtryk. En tredje variant anvendes til tider (se diskussionen vedrrende multline, side 90).
Eksempel 4.12

= + . Hvis et indhegnet (med parenteser af forskellig art) udtryk deles over ere linier br dette (hvis muligt) afspejles i indrykningen af de efterflgende linier. Her vil \phantom vre til stor hjlp, se afsnittet 4.3, side 94.

Eksempel 4.13

= = .

Er der tale om en samling af forskellige formler br disse enten justeres p en passende relation:
Eksempel 4.14

= = = eller centreres over hinanden: = . ,

Eksempel 4.15

Centrering kan ogs anvendes hvis man kun f.eks. har et enkelt = men hvor den ene side er meget lang. Her kan en indrykning p anden linie p kun 2em blive lidt for lidt.
Eksempel 4.16

= Dette kan alt efter materialet ogs varieres


84
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Tegnstning i matematik

= = eller

, , = = = , ,

= = , = = , . ,

Eksempel 4.17

Eksempel 4.18

Se afsnit 4.2.5 for en kort forklaring p hvordan disse eksempler er lavet.


4.1.4 Tegnstning i matematik

Kommaterings-tegnstningen af matematik i teksten foregr uden problemer som man er vant til. Dog med den regel at kommateringstegnet str uden for matematik-mode, alts $x$, (udenfor matematik-mode) og ikke $x,$ (indeni matematik-mode). Hvad angr matematik i fremhvet form er vejledningen tilsvarende:
Kommatr dine udtryk som var de skrevet i den almindelige tekst dog nu med kommateringstegnet inkluderet i matematik mode.

Se eksempel 3.3 samt 4.19 herunder. Der glder dog selvflgelig visse undtagelser vedrrende kommatering af matematik i fremhvet form: (a) Det kan vre ndvendigt at indstte noget mellemrum fr kommateringen hvis denne ellers ville forstyrre det matematiske udtryk. Ofte vil \ vre nok. (b) Hvis kommatering overhovedet ikke passer ind i det matematiske udtryk, skal man srge for at afslutte stningen fr udtrykket og starte en ny stning efter udtrykket. P denne mde kan det matematiske udtryk ses som en stning i sig selv og behver derfor ikke at blive kommateret. Det nste eksempel viser bde hvordan man normalt kommaterer i fremhvet matematik, samt hvad man gr ved en formel som ikke kan kommateres.
\usepackage[all,line,dvips]{xy}
slut preamble

For x

0 glder at x2 > 0.

Eksempel 4.19

For $x\neq 0$ glder at \[ \[ \xymatrix@=5mm{ A \ar[r] \ar[d] & B \\ C \ar[ru] \] Diagrammet viser\dots } x^2 > 0. \] \dots flgende diagram:

. . . flgende diagram: A C Diagrammet viser. . . B

Teknisk set br kommateringstegnene som anvendes indenfor matematik-mode vre de samme som anvendes i teksten, dvs. i samme font som i teksten. Der vil dog i de este tilflde ikke vre noget problem i bare at skrive \[ x=0 . \]. Det er frst i det tilflde at man anvender to forskellige fonte til teksten og matematikken at man begynder at kunne se en forskel mellem f.eks. de anvendte kommaer i teksten og i matematikken (tjek Palatino versus Euler-matematikfont).
Sidebemrkning 4.5.

85
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

4.2
4.2.1
alignment amsmath

Environments til fremhvet matematik


Alignment

Som titlen antyder handler hele dette afsnit om begrebet alignment, alts om at stille formler op sledes at visse dele ugter under hinanden. Vi formoder at man anvender som minimum amsmath pakken. De este af eksemplerne 4.54.18 er lavet via en eller anden form for alignment.
Alignmentsjle

align

Vi har i kapitel 3 set hvordan man kan anvende align til at justere f.eks. =erne i en udregning. Lad os nu denere begrebet alignmentsjle.3 Et udtryk som
\begin{align*} \dbxq &= \dbx\\ \dbx &= \dbx \end{align*}

Eksempel 4.20

= =

alignmentsjle

align
Eksempel 4.21

kan man opfatte som en tabel med to sjler. Den venstre sjle er det lysegr omrde mens den hjre bestr af det mrkegr omrde.. Et sdant st af en venstresjle og samhrende hjresjle denerer vi nu som en alignmentsjle. Hvad nu hvis man nsker ere alignmentsjler? Det er vel oplagt, adskil hver alignmentsjle med et &. Alts hvis man i align gerne have to sjler, anvendes
\begin{align*} \dbxq &= \dbx \dbx &= \dbx \end{align*}

& &

\dbxq &= \dbx\\ \dbx &= \dbx

= =

= =

Af dette kan man udlede at antallet af &-er i hver linie (rkke i tabellen) er 2#alignmentsjler 1 alts n &-er til adskillelsen i alignmentsjlerne og n 1 &-er til at skille sjlerne ad. Bemrk at i alle matematikkonstruktioner hvori \\ anvendes til at skifte linie/rkke, da kan man anvende flgende syntaks til at forge linie afstanden, hvilket til tider kan vre ret anvendeligt.
Sidebemrkning 4.6.
\\[

lngde ]

Et eksempel kan ses herunder:


Eksempel 4.22
\begin{align*} \dbx &= \dbx[2cm] \\[5mm] &= \dbx \end{align*}

= =

86
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Align

Align

Eksempel 4.21 viser at align sagtens kan nde ud af at have to (eller ere) alignmentsjler, den nder selv ud af hvor mange sjler man nsker osv. Man kan ogs se at align selv indstter noget mellemrum mellem alignmentsjlerne nr der er ere end en sjle. Det er ikke altid man er tilfreds med denne spacing, se alignat p denne side for et alternativ. I strre fremhvede udtryk over ere linier kan det vre en god ide at placere de \\-er, som skifter til en ny linie i udtrykket, p en linie helt for sig selv. S er det nemmere at skelne mellem de forskellige linier i udtrykket. Vi har ikke gjort det i bogen, da vi gerne vil spare lidt plads i outputtet.
Tip 4.7.

align

Normalt anbefales det at man justerer til venstre for to de relationer man nsker at aligne ved. Man kan dog sagtens justere til hjre i stedet, bare man tager sine forholdsregler. Bemrk brugen af {} i flgende eksempel:
Tip 4.8.
\begin{align*} \dbx[2cm] = {} & \dbx[3cm] & +\dbx[2cm] = {} & 0 \end{align*} \\ \\

= + =0

Eksempel 4.23

Alts skal der {} ind mellem relationen (eller hvad det nu er) og &-tegnet, ellers opnr man ikke det rette mellemrum. For en nrmere forklaring se afsnit E.3. Tricket kan anvendes til alle alignment konstruktioner fra AMS.
Alignat

Nr man gerne selv vil kontrollere hvilken spacing som kommer mellem alignmentsjlerne kan man benytte alignat. I modstning til align indstter denne ikke selv ekstra mellemrum mellem sjlerne. Prisen er dog at man bliver ndt til at angive antallet af alignmentsjler som argument til alignat. Syntaksen er:
\begin{alignat}{ \end{alignat}

alignat

antal alignmentsjler } almindelig kode som i align

Eksempel 4.21 nu med alignat.


\begin{alignat*}{2} \dbx &= \dbx & \dbx &= \dbx\\ \dbx &= \dbx & \dbx & =\dbx \end{alignat*}

= =

= =

Eksempel 4.24

Man ser at der nu ikke er nogen spacing mellem alignmentsjlerne, den skal man selv indstte hvis det er ndvendigt (bemrk at man behver kun gre det et sted).

3 Dette er et hjemmestrikket udtryk som jeg har fundet p, det skulle gerne kunne hjlpe folk med at forst,

hvor de (potentielt mange) forskellige &-tegn skal placeres.

87
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

Eksempel 4.25

\begin{alignat*}{2} \dbx &= \dbx &\qquad \dbx &= \dbx\\ \dbx &= \dbx & \end{alignat*} \dbx &= \dbx

= =

= =

Man anvender til tider alignat til f.eks. at lave konstruktioner som den flgende:
Eksempel 4.26
\begin{alignat*}{3} f(x) & =0 & \quad \\ g(y) & =1 & & y &\in\{1,2\} \end{alignat*} &\text{hvis} & \text{hvis}

& \quad f(x^2+1)+3x &\in A

f (x) = 0 g(y) = 1

hvis hvis

f (x2 + 1) + 3x A

y {1, 2}

optimering

Her har vi alignet ved =, hvis og , plus indsat noget mellemrum via \quad. Et yndet eksempel p brugen af alignat er inden for optimering, hvor man ofte har en opstilling la4
\begin{alignat}{2} & \text{minim\'er}&\quad&\dbx[2cm]\\ & \text{u.bb.} & & & \end{alignat} & & & & &\dbx &\dbx &\dbx &\dots \\ \\ \\

Eksempel 4.27

minimr u.bb.

(4.1) (4.2) (4.3) (4.4) ... (4.5)

Bemrk brugen af & & & i de senere linier, pga. de tomme celler i frste alignmentsjle og fordi vi ikke har noget i venstre side af anden alignmentsjle. Vi skal senere se nrmere p dette eksempel og komme med ideer til yderligere visuel optimering. En anden anvendelse af alignat er til at lave konstruktioner med mellem. Se afsnittet 4.5 p side 99.
Flalign
align

Environmentet align anvendes sjldent, men har en interessant feature. Nr man har ere alignment-sjler presses teksten helt ud til hjre og venstre margin.
\begin{flalign*} \dbx&=\dbx & \dbx&=\dbx \end{flalign*}

Eksempel 4.28

Dette kan anvendes til notations misbrug:


Eksempel 4.29
\begin{flalign} (\textup{A})& &\dbx&=\dbx && \\ & & \end{flalign} &=0 \nonumber

(A)

= =0

(4.6)

Men man br tnke sig godt om fr man begynder p den slags. En mske lidt mere brugbar anvendelse kan ses p flgende eksempel:
Eksempel 4.30
\begin{flalign*} && \dbx[2cm] &= \dbx[2cm] && \\ \text{samt} && \dbx &= \dbx && \end{flalign*}

= samt =

4 U.bb. betyder vist noget med under bi-betingelserne, det er en standard forkortelse isr anvendt indenfor

matematisk konomi og operationsanalyse.

88
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Kommentarer i alignment matematik

Se desuden Vo (2008).
Kommentarer i alignment matematik

Med makroen \intertext{ tekst } kan man afbryde alignment, indstte noget tekst og genoptage alignmentet igen. Makroen m kun anvendes efter \\ eller \\*5 og giver kun mening at bruge i forbindelse med alignment-konstruktioner. Bemrk at kommentaren m gerne vre en lngere tekst dog ikke alt for lang. Skulle man have brug for at starte et nyt afsnit inden i \intertext s skal man lige bruge \indent for at f den indenteret. Noget tekst,
Noget tekst, \begin{align*} \dbx[1cm] &=\dbx[3cm],\\ \intertext{en kommentar} \dbx[5mm] &\to 0. \end{align*}

\intertext

Eksempel 4.31

= en kommentar 0.

Hvis man synes \intertext indstter for meget vertikal spacing omkring kommentaren kan man anvende \shortintertext fra pakken mathtools (sammenlign eksempel 4.31 og 4.32). \shortintertext er mest beregnet til korte tekster.
\usepackage{mathtools}
slut preamble

\shortintertext

mathtools
Eksempel 4.32

Noget tekst, = og 0. ,

Noget tekst, \begin{align*} \dbx[1cm] &=\dbx[3cm],\\ \shortintertext{og} \dbx[5mm] &\to 0. \end{align*}

Bemrk for vrigt at disse to makroer ikke ignorerer eventuelle mellemrum i starten af argumentet.
A L TEX m faktisk gerne dele et fremhvet matematisk udtryk fr en \intertext eller en \shortintertext. Man kan alts anvende dette til at f opdelt et strre udtryk som kommer lidt for tt p et sideskift. Se ogs afsnittet 4.2.6 p side 93.

Sidebemrkning 4.9.

4.2.2

Centreret erliniet matematik

Til tider har man ikke lyst til at aligne et par formler, men bare have dem samlet som en enhed. Til dette kan man i stedet anvende gather. Da der her ikke er tale om alignment, skal man ikke have &er med, i stedet deler man bare linien med \\.
\begin{gather} \dbx[2cm] \\ \dbx\nonumber\\ \dbx[4cm] \end{gather}

gather
\\

(4.7) (4.8)

Eksempel 4.33

5 \\ forklares senere, se afsnit 4.2.6. *

89
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

4.2.3
multline gather
Eksempel 4.34

Multline

Environmentet multline har samme syntaks som gather men en lidt anderledes opfrsel:
\begin{multline} \dbx[4cm] \\ \dbx[4cm] \end{multline}

(4.9)

\shoveleft \shoveright

Multline vil venstrejustere frste linie, hjrejustere sidste linie og centrere alle andre. Desuden vil formelnummeret kun vre at nde efter sidste formellinie.6 Pakker man en linie (undtagen \\) ind i \shoveleft eller \shoveright kan man tvinge linien til venstre eller hjre.
\newcommand*\sfr{% \rule[-0.6mm]{2cm}{3mm}} \begin{multline*} \dbx[3cm] \\ \dbx[2cm]\\ \shoveleft{\sfr}\\ \shoveright{\sfr} \\ \dbx[4cm]\\ \dbx[1cm] \end{multline*}

Eksempel 4.35

Man br ikke anvende \shoveleft i frste linie ej heller \shoveright i sidste linie, da det kan give underlige resultater.

Det anbefales heller ikke at anvende multline til at dele et udtryk med ere ( 2) relationer (f.eks. > eller =). Her er det bedre at anvende align og i stedet aligne relationerne under hinanden. Man br ogs undg at anvende multline ved alt for mange linier, samt srge for at tilpasse lngden p de enkelte udtryk nr man har valgt at anvende multline. Sdan skal man alts ikke gre:
Farlig (ls teksten) 4.10.
\begin{multline*} \dbx[1cm]+\dbx[2cm] = \dbx[1cm]\\ =\dbx[1cm]\times\dbx[1cm]\\ =\dbx[3cm]. \end{multline*}

Eksempel 4.36

+ = =

= .

Det kommer til at se alt for rodet ud, isr nr tekstbredden er strre end den vi har anvendt i eksempel 4.36.

4.2.4

Varianter

Alle amsmaths environments til fremhvet matematik (undtagen multline7 ) har en speciel intern version som slet ikke giver formel numre og s kun kan anvendes inden i andre environments.
6 Med mindre man har formelnumrene i venstre side hvorved det s placeres ved frste linie. 7 Se dog Hgholm (2008b) (mathtools-pakken).

90
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Split

Split

Environmentet split har samme syntaks som align, men den understtter kun n alignmentsjle. Den anvendes ofte sammen med enten equation eller gather nr man vil have en justeret udregning men kun t formelnummer for hele udregningen.
\begin{gather} \begin{split} \dbx & =\dbx \\ & =\dbx[3cm]\\ & =\dbx[2cm]\\ & =\dbx . \end{split} \end{gather}

split

= = = = . (4.10)

Eksempel 4.37

Man bemrker at formelnummeret placeres vertikalt centreret i forhold til materialet, der kigges ikke efter linier men placeres vertikalt centreret efter hele formlen som helhed.
Aligned

Omvendt svarer aligned til den fulde udgave af align, men unummereret til brug inden i andre environments.
\begin{gather} \dbx[2cm] = \dbx[2cm],\\ \begin{aligned} \dbx & =\dbx, & \dbx &= \dbx,\\ \dbx & =\dbx, & \dbx &= \dbx.\\ \end{aligned} \end{gather}

aligned

= = = , , = = , .

(4.11) (4.12)

Eksempel 4.38

Man vil sikkert genkende denne opstilling fra eksempel 4.18, som ogs kan laves via alignedat. Noget andet man kan lave med aligned er:
\begin{equation*} \left.\begin{aligned} \dbx &= \dbx \\ \dbx &= \dbx \\ \dbx &= \dbx \end{aligned} \right\} \quad \Rightarrow \quad \left\{ \begin{aligned} \dbx &= \dbx \\ \dbx &= \dbx \end{aligned}\right. \end{equation*}

Eksempel 4.39

= = =

= =

Environmentet kan faktisk ogs tage et argument som angiver om der skal justeres p frste eller sidste rkke eller der som her bare skal vertikalt centreres (test f.eks. \begin{aligned}[t]).
Alignedat

Environmentet alignedat svarer til aligned som alignat svarer til align.

alignedat

91
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

Eksempel 4.40

\begin{gather} \dbx[2cm] = \dbx[2cm]\,,\\ \begin{alignedat}{2} \dbx &=\dbx,&\qquad\dbx &= \dbx,\\ \dbx &=\dbx,& \end{alignedat} \end{gather} \dbx &= \dbx.\\

= = = , , = = , .

(4.13) (4.14)

Gathered
gathered

gathered er bare gather pendanten til aligned, anvendes ofte til at samle formler under et enkelt formelnummer.
\begin{equation} \begin{gathered} \dbx[3cm] = \dbx[2cm],\\ \dbx+\dbx-\dbx\otimes \dbx\times\dbx. \end{gathered} \end{equation}

Eksempel 4.41

= + .

(4.15)

mathtools lgathered multlined

Man kan alts sige at gathered er en pendant til split. Pakken mathtools har desuden en lgathered version som kan vre ret interessant, se afsnit 4.5. Samme pakke giver ogs et multlined environment, her br man dog lige lse Hgholm (2008b) fr brug.
4.2.5 Eksemplerne 4.5 til 4.18 p side 8385

For en god ordens skyld er her hvordan eksemplerne 4.5 til 4.18 p side 8385 er lavet, eller rettere med hvilken konstruktion. Eksempel 4.5. Almindelig align-konstruktion med alignment til venstre for relationer. Eksempel 4.6. Samme type med align, her er alignet yderst til venstre, og hver af de efterflgende linier starter med &\qquad .
Eksempel 4.42
\begin{align*} &\dbx[5cm]= \dbx[4cm]\\ &\qquad &\qquad = \dbx[6cm]\\ = \dbx[5cm]\,.

\end{align*}

Se desuden afsnittet 4.5 p side 100. Eksempel 4.7. Samme som ovenfor, kun indholdet er anderledes. Eksempel 4.8. Her er der som i 4.5 alignet til venstre for relationerne. Linierne som starter med + og med - er s starter med &\quad. Eksempel 4.9. Her er alignet til hjre for lighedstegnet, se Tip 4.8. Eksempel 4.10. Samme metode som i Eksempel 4.6. Eksempel 4.11. Samme metode som i Eksempel 4.7.
92
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Sideskift i fremhvet matematik

Eksempel 4.12. Er lavet via multline. Eksempel 4.13. En kombination af align og \hphantom. Se Eksempel 4.45. Eksempel 4.14. Igen align. Her er der ikke tale om en decideret udregning, bare en samling af formler. Eksempel 4.15. En simpel konstruktion via gather. Eksempel 4.17. Endnu en gang align, her har vi anvendt to alignmentsjler for at kunne adskille formlerne og stte dem visuelt pnt op. Eksempel 4.18. Igen gather, her kombineret med varianten alignedat.
4.2.6 Sideskift i fremhvet matematik

Det at dele et erliniet fremhvet matematisk udtryk over to sider, anses generelt som A vrende drlig skik. Med de environments som er beskrevet her vil L TEX ogs selv srge for at holde dem samlet p n side, hvilket kan fre til sider hvor der er meget store mngder luft mellem de forskellige dele af teksten. Vi har dog allerede set at man sagtens kan f sideskift ind i billedet via \intertext eller \shortintertext. Her vil man nemlig f noget tekst (kommentaren) til at starte siden med. Det er dog naturligvis muligt at f eksempelvis en align til at blive delt over to sider. Man br dog kun gre brug af det, hvis man anvender dobbeltsidet opstning og delingen foregr fra en venstre side til en hjre side, det gr ud over overblikket hvis lseren skal bladre for at nde resten af udtrykket. Man har to konstruktioner til sin rdighed: Pr. hndkraft: Her indstter man \displaybreak[ num ] fr den \\ man vil tillade et sideskift ved. Makroen kan tage et valgfrit argument: [ num ], hvor num {0, . . . , 4}. [0] betyder: Det er tilladt at bryde her, men den opfordrer ikke til det. Jo strre tal som anvendes jo mere opfordres sideombrydningen til at vre lige her. \displaybreak er det samme som \displaybreak[4] og tvinger bruddet til at vre lige her. Automatisk valg: Her placerer man \allowdisplaybreaks enten i preamblen (hvorefter det s glder generelt for alle fremhvede formler8 ) eller indenfor en
\begingroup \allowdisplaybreak % matematisk konstruktion \endgroup
\displaybreak

\allowdisplaybreaks

Eksempel 4.43

eller en
{ \allowdisplaybreak % matematisk konstruktion }

Eksempel 4.44

A konstruktion (hvor det s kun glder her). L TEX vil s selv nde ud af hvor den vil dele udtrykket. Er der en linie efter hvilken man helst ikke nsker et sideskift kan man

8 Anbefales ikke.

93
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

\\*

afslutte den med \\* (kan ogs anvendes generelt til at gennemtvinge et linieskift, men undertrykke muligheden for sideskift netop p dette sted) i stedet for \\. \allowdisplaybreaks tager ogs et valgfrit argument: 14, hvor 1 betyder: Tillad sideskift i fremhvet matematik, men gr en indsats for at lade vre. Strre tal betyder bare at den gr mindre og mindre for at undg sideskift i matematik. \allowdisplaybreaks er det samme som \allowdisplaybreaks[4]. Af tekniske rsager kan man ikke dele materialet inden i en split-, aligned-, alignedat- eller gathered-konstruktion over ere sider.
Sidebemrkning 4.11.

4.3

Ser du spgelser?

Antag at man p en linie nsker at indstte lige s meget blank plads som en given tekst er bred. Dette opns med et spgelse eller rettere med
\phantom \hphantom \vphantom

tekst } \hphantom{ tekst } \vphantom{ tekst }


\phantom{

Frste version srger for at det reserverede mellemrum desuden passer i hjden og i dybden (under baseline) svarende til den boks som skulle til for at omkranse den angivne tekst. Ved \hphantom afsttes kun bredden af den angivne tekst, hjden og dybden ignoreres. Tilsvarende har \vphantom ingen bredde, men kun hjde og dybde svarende til frnvnte boks. Makroerne nder automatisk ud af om de er anvendt i eller udenfor matematikmode. Vi skal her anvende den med hensyn til eksempel 4.13. Man kan opn disse indrykninger via:
Eksempel 4.45
\begin{align*} \dbx[1cm] &= \dbx\bigl[ \dbx[2cm] \\ &\hphantom{{}=\dbx\bigl[} + \dbx[1.5cm]\bigr] \\ &=0. \end{align*}

= + = 0.

Man emulerer alts bredden af den tekst som stod i linien ovenfor, regnet fra alignmentpunktet og frem. Bemrk brugen af {} i argumentet til \hphantom, uden den ville spacingen omkring lighedstegnet vre for lille og derved ville man ikke f den rigtige bredde.9 Se desuden Eksempel 4.57.
4.4 Kongurering af og leg med formelnummeret

Fjernelse af formelnummer
\nonumber \notag

Nsten alle de formelnummer givende environments understtter korrekt \nonumber (eller dets alias \notag). Undtagelserne er equation og eqnarray som til tider kan give bizarre resultater i kombination med disse og brugen af \label, se Madsen (2006). \nonumber indsttes fr en eventuel \\ og undertrykker derefter formelnummeret for denne linie.
9 Man kunne ogs have anvendt \mathrel{=} i stedet for {}=.

94
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Skrive noget andet i stedet for formelnummeret

Skrive noget andet i stedet for formelnummeret

I den helt anden grft nder man \tag{ tekst } og \tag*{ tekst }, som i stedet kan anvendes til at skrive noget helt andet end det normale formelnummer. \tag skriver sit argument (behandlet som almindelig tekst) mellem ( )-erne10 , modsat skriver \tag* sit argument helt uden parenteser.
\begin{gather} \dbx[3cm] \tag{$*$}\\ \dbx[3cm] \tag*{xyz} \end{gather}

\tag \tag*

() xyz

Eksempel 4.46

Bemrk brugen af $*$ for at f -en vertikalt centreret. Blander man \label ind i det, vil man faktisk kunne referere til et omdbt formelnummer.
\begin{gather} \dbx[3cm] \label{tag*}\tag{$*$}\\ \dbx[2cm] \tag*{via aksiom 7} \end{gather} via \eqref{tag*} fs\dots

() via aksiom 7 via () fs. . .

Eksempel 4.47

Se eventuelt Hgholm (2008b) for ere ideer vedrrende kongurering af formelnumre, se ogs afsnit 4.5, side 98. Et tredje ting man kunne f brug for er at kunne lave en mrket version af en allerede nummereret formel. Dette er sre simpelt, anvend \ref og \label.
\begin{gather} \dbx[3cm] \label{442}\\ \dbx[3cm] \tag{\ref{442}'}\label{442'} \end{gather} Henviser til \eqref{442} og \eqref{442'}.

(4.16) (4.16) Henviser til (4.16) og (4.16).

Eksempel 4.48

Kongurering af hvordan formler nummereres

I langt de este dokumentklasser er defaultmetoden til formelnummering at nummereringen sker fortlbende: (1), (2), etc. Er man i gang med et lngere vrk vil det ofte vre en fordel at have skaldt subordineret (eller domineret) nummering, i.e. f.eks. ( section . formel ), hvor formelnummeret starter forfra i hver ny section. Med amsmath er dette meget nemt
\numberwithin{

underordnet tller }{ dominerende tller }

\numberwithin

I denne bog (som har kapitler) har vi anvendt


\numberwithin{equation}{chapter}

Eksempel 4.49

Det burde vre oplagt hvad man skulle vre hvis man anvender en klasse som kun har \sections. Det er ogs muligt at tage equation tlleren ud af denne underlggelse, dvs. g tilbage til (1), (2), . . .

10 Eller hvordan man nu har valgt at kongurere dem. Se evt. mathtools-pakken.

95
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

\counterwithout

Bemrk at hvis man har brug for at g fra kapiteldominans, til afsnitsdominans og tilbage igen, da har man brug for at kunne f equation-tlleren ud fra afsnitsdominansen igen. Anvender man memoir -klassen, kan man tage et kig p \counterwithout makroen (ogs tilgngelig via pakken chngcntr).
Sidebemrkning 4.12.

t formelnummer til udregning

Her kombinerer man to environments, normalt split eller aligned (som jo ikke giver numre) sammen med equation eller gather. Se f.eks. Eksempel 4.37, Eksempel 4.38 eller Eksempel 4.85.
Undernummerering af formelnummer

subequations

Til tider er det rart at lave en yderligere undernummerering af formelnummeret via bogstaver, til dette anvendes subequations-environmentet11 som bare pakkes udenom de formler (og tilhrende tekst) man nsker skal vre inden for denne undernummerering. I det flgende eksempel bedes man bemrke placeringen og eekten af de forskellige \labels.
\begin{subequations} \label{mainnummer} \begin{align} \dbx &= \dbx \label{suba}\\ \dbx &= \dbx \label{subb} \end{align} Hovednummer: \eqref{mainnummer}, undernumre: \eqref{suba} og \eqref{subb}. \end{subequations}

Eksempel 4.50

= = Hovednummer: (4.17), (4.17a) og (4.17b).

(4.17a) (4.17b) undernumre:

Man har alts mulighed for at referere til det overordnede nummer samt de enkelte elementer for dem selv. Alle nummererede formler inden for subequations vil s blive skrevet p denne mde. Bemrk at det er, af tekniske rsager, ikke muligt f.eks. at ndre nummereringsmetoden midt i f.eks. en align.
Flytte lidt p formelnummeret

\raisetag

En af de gode ting ved AMS-konstruktionerne er at de srger for at holde je med om de kommer for tt p formelnummeret, s ytter de formelnummeret lidt ned (hvis man har placeret formelnumre i hjre side). Til tider kan placeringen dog se lidt grim ud. Man kan s i stedet skubbe lidt ved placeringen via makroen \raisetag{ lngde }. Anvend en negativ lngde for at ytte nummeret lngere ned.
\begin{align} \dbx[6cm] \\ \dbx[6cm] \raisetag{-6pt} \end{align}

Eksempel 4.51

(4.18) (4.19)

11 Del af amsmath.

96
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Vis kun refererede formler

Vis kun refererede formler

Se afsnittet 4.5 p side 98.


4.5 A S udvidelsen mathtools M
12

Pakken mathtools af Morten Hgholm en hel del ekstra ting i forbindelse med Vi vil her prsentere nogle stykker og ellers henvise til Hgholm (2008b) for mere information (manualen er under alle omstndigheder vrd at lse).13
amsmath.

mathtools

Justering vedrrende grnser p operatorer

Til tider har forfattere for vane at skrive nogle grnser p store operatorer som er for brede eller som kan forstyrre alignment. Dette kan man s kse med
\smashoperator[

position ]{ operator incl. grnser }

\smashoperator

hvor position er r, l eller rl (standard). Ideen med \smashoperator er at man fr ignoreret bredden af vre og nedre grnse p en stor operator. Positionerne angiver s om man ignorer kun i venstre, hjre eller begge sider.
\usepackage{mathtools}
slut preamble

Eksempel 4.52

\begin{equation*} X\sum_{x\mid x^2+y^2 =1}X \qquad X\smashoperator{\sum_{x\mid x^2+y^2 =1}}X \qquad X=\smashoperator[r]{\sum_{n=1}^{12345678}}X \end{equation*}

12345678

X
x|x2 +y 2 =1

X=
n=1

x|x2 +y 2 =1

Eksempel 4.52 skal fortolkes som: Frste sum er det man normalt fr, bemrk at de to Xer ikke overlapper med grnsen. I den anden sum har vi anvendt \smashoperator som srger for at bredden af grnsen ignoreres mht. placeringen af Xerne. Tredje sum viser s hvordan man kan lave ignoreringen kun til hjre for summen. Makroen er faktisk ogs ret smart til at aligne brede summer.
\usepackage{mathtools}
slut preamble

...
{x|x2 >3}

Eksempel 4.53

\begin{align*} &\smashoperator[l]{\sum_{\{x\mid x^2>3\}}}\dots\\ &\smashoperator[l]{\sum_{y\in B}} \dots\\ &\smashoperator[l]{\sum_{x_1+x_2+x_3=2}} \dots \end{align*}

...
yB

...
x1 +x2 +x3 =2

Det overlades til lseren at se hvad der ville ske hvis man fjernede \smashoperator fra eksempel 4.53.
12 FiXme Note: husk lige at tjekke alle referencer til disse 13 Bemrk ivrigt at mathtools automatisk loader amsmath hvis man ikke allerede havde gjort det i forvejen.

Det betyder at man kan njes med at aktivere mathtools i stedet for bde mathtools og amsmath.

97
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

Intelligente afgrnserfunktioner

Mange har prvet at lave en makro til at lave f.eks. |x| med, ofte via en konstruktion lignende
\newcommand{\abs}[1]{\lvert#1\rvert}

Men hvad s nr man fr brug for en som er lidt strre. S ndrer mange denitionen s \left og \right ogs indgr. Men det er jo heller ikke godt, se afsnit 3.3. Lav i stedet \abs og lignende med
\DeclarePairedDelimiter

\DeclarePairedDelimiter{

makronavn }{ left delim }{ right delim }

Man vil s anvende:


Eksempel 4.54
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}

S fr man automatisk ogs \abs*, som er versionen med \left og \right, mens \abs nu kan tage \big, \Big, \bigg eller \Bigg som valgfrit argument som s bliver anvendt til manuelt at skalere med.14 Se eksempel 4.55.
\usepackage{mathtools} \DeclarePairedDelimiter{\abs}{\lvert}{\rvert} \DeclarePairedDelimiter{\inner}{\langle}{\rangle}
slut preamble

Eksempel 4.55

\begin{equation*} \abs{x}+\abs*{\frac{a}{b}}+\inner[\Big]{\sum_i f(x_i),\sum_j g(y_j)}=2 \end{equation*}

|x| +

a + b

f (xi ),
i j

g(yj ) = 2

Vedr. \inner kommandoen, s kan det vre en fordel at man laver makroen til at kunne tage to argumenter i stedet for kun et, dette kan gre makroen mere eksibel da man kan gemme f.eks. komma mellem argumenterne inden i makroen, og s nemt senere skifte det til eksempelvis semi-kolon. Dette kan vi ikke gre med mathtools alene, men har i stedet vist det i Eksempel A.22.
Hvordan viser man kun refererede formler?

Med mathtools selvflgelig. Ideen er at man srger for at nummerere alle formler! og husker kun at anvende AMS-environments til fremhvede formler.
Eksempel 4.56
\usepackage{mathtools} \mathtoolsset{showonlyrefs,showmanualtags}
slut preamble

\begin{align} a&=b \label{eq:1}\\ c&=d \label{eq:2} \end{align} Vi referer kun den sidste \eqref{eq:2}.

a=b c=d Vi referer kun den sidste (1).

(1)

14 Internt i \DeclarePairedDelimiter bliver disse \biger automatisk lavet om til \bigl/r-varianterne.

98
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

lgathered

Metoden kan ogs anvendes nr man som forsker er ved at forberede en artikel og s af forlaget bliver bedt om kun at nummerere de formler som der faktisk henvises til i artiklen. I nyere versioner af mathtools nder man ogs \noeqref{ liste af labels } som kan anvendes til at aktivere formelnummeret til nogle formler man ikke direkte har henvist til.
lgathered

\noeqref

Vi har allerede nvnet at Eksempel 4.13 kan fremstilles via \phantom. Her vil vi anvende lgathered til at lave den p en lidt anden mde.
\usepackage{mathtools}
slut preamble

lgathered
Eksempel 4.57

\begin{align*} \dbx &= \dbx + \Bigl[\! \begin{lgathered}[t] \dbx[2cm] +\dbx {} + \dbx[3cm] \end{lgathered} \\ &= \dbx[2cm] \end{align*} \\ \Bigr] {} + \dbx[2cm] \\

+ + +

Vi bliver ndt til at tage ] med ind i konstruktionen ellers kommer den ikke p den korrekte linie, og {}-parret er for at f det korrekte mellemrum omkring +-erne. Resultatet af Eksempel 4.57 kan ogs fs via lidt andre metoder.
Overlappe alignment

Tidligere blev makroen \mathclap omtalt (se Eksempel 3.44). Vi har ogs nogle som ignorerer mod hjre eller venstre, forstet p den mde at indholdet skrives som A normalt, men L TEX afstter ikke plads til det. Dette kan vre anvendeligt i visse alignment situationer: = = Konstruktionen er lavet via
\begin{alignat*}{2} \dbx[2cm] & = \mathrlap{\dbx[4cm]} & \leq \dbx[2cm] & \quad & = \end{alignat*} \dbx & & \forall\ & \forall\ \dbx \\ \dbx \\

Eksempel 4.58

Eksempel 4.59

bemrk \mathrlap.
Ensbetyderpile mellem linierne i en beregning

En anden ting man kan bruge alignat til er nr man gerne vil lave udregninger hvor der er ensbetydende- eller medfrerpile mellem. Dette kan man lave p en smart mde via makroen ArrowBetweenLines fra mathtools.15 Anvendelsen illustreres via flgende
15 Koden var tidligere en del af bogen.

99
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

eksempel. Bemrk forskellen mellem brugen af \ArrowBetweenLines og \ArrowBetweenLines*.


Eksempel 4.60
\begin{alignat}{2} && a&=b\\ \ArrowBetweenLines && b&=c \end{alignat} \begin{alignat}{2} c&=1\\ \ArrowBetweenLines*[\Downarrow] a&=1 \end{alignat}

a=b b=c c=1 a=1

(4.20) (4.21) (4.22) (4.23)

I frste del af eksemplet skal man bemrke brugen af && foran hver normal linie for at f alignment i anden alignmentsjle, thi frste sjle anvendes til pilene. I anden del er pilen i hjre side og her behver man ikke nogen ekstra &&. Bemrk at det kun er \ArrowBetweenLines** som giver pile i hjre side. Observer desuden at konstruktionen ikke forstyrrer afstanden mellem linierne mere end hjest ndvendigt. Bemrk at \ArrowBetweenLines* br kun anvendes i konstruktioner som har en enkelt alignment sjle. Versionen uden stjerne (som placerer pilen til venstre) kan anvendes ved et vilkrligt antal alignmentsjler.
Justering af indryk ved brudte formler

I visse af eksemplerne 4.5 til 4.18 p side 8385 justerer man helt til venstre, men skal s have indenteret alle efterflgende linier. Dette kan vre lidt trls i lngden, s man kan ogs gre noget andet, nemlig at justere alt helt til venstre og s hive frste linie lidt mere mod venstre end de andre linier. Dette gr vi med MoveEqLeft som s skal anvendes som starten p frste linie i stedet for &:
Eksempel 4.61
\begin{align*} \MoveEqLeft \dbx[5cm] \\ & = \dbx[2cm] \\ & = \dbx[2cm] \end{align*}

= =

Hvilket sikkert gr tingene lidt nemmere at arbejde med. Bemrk at nsker man at gre brug af en anden indentering end 2em, s angives det som f.eks. \MoveEqLeft[3.5] alts ingen enhed (anvender automatisk em). Nr man justerer til hjre for f.eks. lighedstegn kan det vre en fordel at anvende \MoveEqLeft[3]:
Tip 4.13.
Eksempel 4.62
\begin{align*} \MoveEqLeft[3] \dbx[5cm] \\ = {} & \dbx[3cm] \\ & + \dbx[2cm] \end{align*}

= +

Thi vi skal jo tage hjde for cirka bredden af =.

100
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Andre

Andre

Se mathtools-manualen, Hgholm (2008b) for andre eksempler p hvad denne pakken kan gre. Den kan f.eks. kse udseendet af := (sledes at : bliver centreret omkring den matematiske centerlinie). Pakken indeholder ogs andre pile konstruktioner a la \xrightarrow samt konstruktioner til at forge afstanden mellem alle linier i et matematik environment.
4.5.1 Pakken empheq

Man br ogs gre sig selv den ulejlighed at tage et kig p pakken empheq af samme forfatter, denne kan ogs lave nogle ting med matematik som ellers ikke er muligt, se Hgholm (2008a). Vi vil njes med et simpelt eksempel p hvad man kan med denne pakke:
\usepackage{empheq} \newcommand*\widefbox[1]{\fbox{\hspace{1em}#1\hspace{1em}}}
slut preamble

Eksempel 4.63

\begin{empheq}[box=\widefbox]{align} \dbx &= \dbx[3cm]\\ E&=mc^2 + \int_a^a x\, dx \end{empheq} \begin{empheq}[left=\empheqlbrace\ ]{alignat=2} \dbx &= \dbx, &\qquad \dbx &= \dbx &= \dbx, & \dbx &= \dbx, & \end{empheq} \dbx &= \dbx &= \dbx \\ \dbx \\ \dbx

= E = mc 2 + = = = , , ,
a

(1) x dx
a

(2) = = = (3) (4) (5)

Empheq-pakken er den eneste pakke som er i stand til at kunne gre dette.
4.6
A Diagrammer i L TEX

Indenfor visse grene af naturvidenskab har man brug for at kunne lave diverse (matematiske) diagrammer. Vi vil kigge p X -pic, men man kan ogs sagtens anvendes Y METAPOST, eller mske mere relevant TiKz.
4.6.1 Diagrammer med X -pic og \xymatrix Y

Der er forskellige mder at gre dette p men den mest almindelige i dag er at anvende X -pic (i.e. pakken xy). Et diagram er i denne henseende en konstruktion a la Y

X -pic Y xy

101
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

Eksempel 4.64

\usepackage{amsmath,amssymb} \usepackage[all,line]{xy}
slut preamble

AA  C

/B  / DD

\begin{equation*} \xymatrix{A\times A \ar[r]\ar[d] & B \ar[d] \\ C \ar[r] & D\otimes D} \end{equation*}

Den bedste kilde til information er Rose (1999), det flgende er sm uddrag fra denne. Den vigtigste syntaks man skal kende er
\xymatrix

\xymatrix }

options { indhold hvor hver indgang i diagrammet er positioneret som en celle i en matrix options [ sekvens ]

\ar

\ar

Som man kan se ud fra eksempel 4.64 vil hver celle indeholde information om hvad der skal st p denne plads samt information vedrrende eventuelle pile som udspringer her. Argumenterne som man kan angive mellem \xymatrix og den frste { vil ikke blive behandlet her, lseren henvises i stedet til Rose (1999), afsnit 3.3, hvor man vil kunne lre at disse options kan anvendes til at forge/formindske afstanden mellem sjlerne etc. Man kan desuden tage et kig i Rose og Moore (1999) som godt nok kan vre en smule vanskelig at forst, men eksempelvis forklarer hvordan man styrer tykkelsen af pilene. Som man kan se af Eksempel 4.64 anvender vi visse options til xy-pakken. Man anbefales at anvende all og line. Hvis man nsker det kan man desuden f pilehoveder som ligner dem fra Computer Modern fonten, via cmtip. Anvender man desuden dvips som option (og anvender latex + dvips til output), s fr man ne glatte pile. Hvis man ikke anvender dvips option, f.eks. fordi man nsker at anvende pdflatex, s vil man opdage at pilene bliver hakkede. Der ndes desvrre pt. ikke nogen god underliggende engine til X -pic ved PDF-output. S anvender man Y X -pic, anbefales det at man anvender latex plus dvips plus ps2pdf-vejen for at opn Y en PDF udgave af dokumentet.
Sidebemrkning 4.14.

pdatex og X -pic Y

Vi vil nu i stedet se nrmere p hvordan man laver pile i X -pic. Y


4.6.2 X -pic pile syntaks Y
\ar

Pile i X -pic laves med makroen \ar som placeres i den matrix indgang hvorfra pilen Y skal g. Syntaksen er
\ar

options [ sekvens ] eventuel tekst

Placering

Lad os tage [ sekvens ]-delen frst. Den bestr af en serie af bogstaverne l, r, u, og d, med benlyse referencer til re engelske ord. Sekvensen skal s beskrive mden hvorp man vil ville bevge sig rundt i matricen for at komme derfra, hvor man er lige nu, til den indgang man gerne vil pege hen p.16 Eksempel (med almindelig matrix
16 Parseren er intelligent nok til at kunne genkende kvivalente stier, dvs. rkkeflgen er ikke noget pro-

blem.

102
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Pilens udformning

indgangsnotation, i.e. matrix indgang rkke 1, sjle 1 til rkke 1, sjle 4 . . . ) {11} {14} [rrr] {71} {63} [rru] {84} {95} [rd]

{35} {21} [ullll]

Ovenstende skulle gerne betyde at man nu kan forst syntaksen i flgende eksempel.
\usepackage{amsmath,amssymb} \usepackage[all,line,dvips]{xy}
slut preamble

Eksempel 4.65

\begin{equation*} \xymatrix{A \ar[rrd]\ar[d]\ar[r] & B \ar[d] & G \ar[d]\ar[l]\\ C \ar[r] & D &\ar[l]\ar[ul] \end{equation*} D}

Pilens udformning

Pilen udformning styres af argumentet stende mellem \ar og [ sekvens ] og bestr af par bestende af en @ og visse argumenter. Her flger et par almindelige, ere kan ses i Rose (1999).
tom A A A A A B B B B B
@{-->} @{{(}->} @{<->} @{>} @{.>}

A A A A A

B B B B B

@2{->} @{|->}

Eksempel 4.66

@2{-} @{:>}

Identitetspilen kan alts laves via


\usepackage[all,dvips,line]{xy}
slut preamble

Eksempel 4.67

$\xymatrix{A \ar@2{-}[r] & B \ar@{-->}[r] & C}$

Man kan ogs lege med krummende pile, igen se Rose (1999), afsnit 1.6 for mere information.
\usepackage[all,dvips,line]{xy}
slut preamble

Eksempel 4.68

$\xymatrix{A \ar@/^/@{->}[r] & B \ar@/_/@{-->}[r] & C}$

Man kan ogs ytte lidt rundt p placeringen af pilene.


\usepackage[all,line,dvips]{xy}
slut preamble

Eksempel 4.69

$\xymatrix{A \ar@<3pt>[r] & B \ar@<3pt>[l]}$

103
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau


Labels p pile

Labels (dvs. tekstmarkeringer) p de forskellige pile angives som sub- eller superscript efter [ sekvens ]. Her er det let at blive forvirret, der er nemlig ogs en orientering p spil. Op og ned (i.e. om det skal vre ^ eller _) afgres ved at forestille sig at man har et hjrehndssystem liggende i papirets plan, den tredje akse skal s altid pege ind i papiret. Se eksempel 4.70.
Sidebemrkning 4.15.
Eksempel 4.70
\usepackage[all,dvips,line]{xy}
slut preamble

$\xymatrix{A

&

B \ar[l]^{g} \ar[r]^{f} & C}$

Dvs. stort set hver gang en pil vender bagud skal man lige bytte om p op og ned. Det er heller ikke noget problem at skrive bde over og under pilen p samme tid. Labels bliver som standard placeret midt mellem centrene af de to matrixindgange pilen peger mellem, dette kan dog give problemer med indgange af uens strrelse. Man kan placere labels centreret i forhold til selve pilen hvis man indstter et - mellem ^ eller _ og s selve labelteksten, se eksempel 4.71.
Tip 4.16.
Eksempel 4.71
\usepackage[all,line,dvips]{xy}
slut preamble

$\xymatrix{ A\times A\times A\ar[r]^{f} & B \ar[r]^-{g} & C\times C\times C}$

AAA

C C C

Bemrk at pilenes lngde justeres ikke efter lngden af labelen. Her bliver man ndt til manuelt at justere bredden mellem sjlerne, se Rose (1999).
Sidebemrkning 4.17.

4.6.3

Prkompilering af diagrammer

\CompileMatrices

Hvis man har rigtigt mange af disse X -pic diagrammer kan det godt vre at overstY telsen af dokumentet bliver lidt langsom. Her an man udnytte \CompileMatrices, som placeres i preamblen. Denne makro gr at alle diagrammerne nu bliver gemt, i deres frdigt oversatte form, i eksterne ler (med navnet lnavn - nummer .xyc) og hentes s ind i stedet for at overstte X -matricen hver gang. Den eksterne l fornyes kun hvis Y man har lavet ndringer i det tilhrende diagram. Nr man anvender \CompileMatrices kan parseren vre temmelig flsom overfor indholdet af indgangene i matricen. Isr hjemmelavede makroer kan f den til at bvse. Men det kses meget nemt. Man stter et beskyttende {}-par omkring hver indgang i matricen, s fungerer det igen. Dvs. eksempel 4.71 ville s se sdan ud
Advarsel 4.18.

Fortsttes p nste side 104


Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

X -pic og Babel Y

\usepackage[all,line,dvips]{xy} \CompileMatrices
slut preamble

Eksempel 4.72

$\xymatrix{ &

{A \times A \times A} \ar[r]^{f} & {B} \ar[r]^-{g}

{C\times C\times C} } $

Man kan ogs f X -pic til f.eks. at anvende pilespidser som ligner mere Computer Y Modern pilene. Sammenlign med eksempel 4.71.
\usepackage[all,line,dvips,cmtip]{xy}
slut preamble

Eksempel 4.73

$\xymatrix{A\ar[r] & B}$

4.6.4 X -pic og Babel Y

Vi har tidligere nvnt at babel-pakken vil i den danske opstning anvende " til specielle genveje. Desvrre anvender X -pic ogs " til noget specielt, s her bliver Y man ndt til at passe p. Ideen er at anvende babels \shorthandoff fr diagrammet og \shorthandon igen efter.
\usepackage[danish]{babel} \usepackage[all,line,dvips]{xy}
slut preamble

\shorthandoff \shorthandon

Eksempel 4.74
a b

\shorthandoff{"} \[ \xymatrix{ A \ar[r] ^a="a" & B \ar[r] ^b="b" & C\ar @/^/ "a";"b" } \] \shorthandon{"}

Man kan ogs samle deaktiveringen i et environment som man s skal pakkes uden om matematikken.
\newenvironment{deactivate}{\shorthandoff{"}}{\shorthandon{"}}

Eksempel 4.75

Bemrk at ved andre sprogopstninger kan det vre ndvendigt at anvende andre tegn sammen med \shorthandon og \shorthandoff.
4.6.5 X -pic diagrammer og formelnumre Y

Hvis man nsker at formelnummerere et diagram, s man kan jo pakke equation omkring. Problemet er s at nummeret ikke centreres vertikalt i forhold til diagrammet. Man kan komme uden om dette p forskellig vis. En metode er at anvende \vcenter makroen omkring hele diagrammet.
\usepackage[all,line,dvips]{xy}
slut preamble

\vcenter

A (1) B C

Eksempel 4.76

\begin{equation} \vcenter{\xymatrix{A \ar[rd]\ar[d] \\ B & C }} \end{equation}

105
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

4. Matematik p et hjere niveau

Hvis man har ere diagrammer p samme linie skal de have \vcenter omkring sig, hver for sig. Metoden her er mest anvendelig hvis man ikke har s mange nummererede diagrammer. Har man mange kan man anvende en anden konstruktion.17
Kodetip 4.1
\newcommand\cxymatrix[2][]{% \begin{xy}*[c]\xybox{\xymatrix#1{#2}}\end{xy} }

S vil \cxymatrix automatisk centreres. Syntaksen bliver bare lidt anderledes. F.eks. skal man nu anvende \cxymatrix[@C=2cm]{...} i stedet for \xymatrix@C=2cm{...}.
4.6.6 Andre X -pic tips Y

I det nste eksempel viser vi hvordan man fr indgange til at fylde mindre i et X Y diagram.
Eksempel 4.77
\usepackage[all,line,dvips]{xy}
slut preamble

\[ \xymatrix{{\llap{$X\times Y = {}$\,} A} \ar[r] \ar[d] & B \ar[d] } \] \\ C \ar[r] & D \rlap{\,${}= Z\times W$}

X Y = A C

B D = Z W

Det kan dog ogs gres direkte med X -konstruktioner: Y


Eksempel 4.78
\usepackage[all,line,dvips]{xy}
slut preamble

\[ \xymatrix{ **[l] {X\times Y = \ar[r] \ar[d] & B \ar[d] \\ } \] A}

X Y = A C

B D = Z W

C \ar[r] & **[r] {D = Z\times W}

Antag at man i et diagram har at et af forbindelserne bare er en inklusion, s kan dettes jo skrives som . Men det ville mske vre pnere hvis man kun skrev i stedet for pilen. Se Eksempel 4.79 samt den efterflgende forklaring.
Eksempel 4.79
\usepackage[all,line,dvips]{xy}
slut preamble

\[

\xymatrix{ A \ar[r] & B \\

C \ar[u] \ar@{}[r]|-{\displaystyle\subseteq} & D\times E \ar[u] } \]

DE

Forklaring: \ar@{} er den tomme pil, | betyder at lablen skal skrives inden i pilen i stedet for over eller under. - gr, som tidligere nvnt, at lablen placeres midt mellem kanterne af de to kasser pilen forbinder. \displaystyle gr at kommer op i normalstrrelse, labels kommer jo normalt ud i \scriptstyle. Tidligere har vi skrevet lidt om kommatering og matematik, hvor vi anvendte et diagram som eksempel. De rkantede diagrammer kan man sagtens kommatere, det er dog en god ide at gre det p flgende vis

17 Efter ide af Emil Hedevang Lohse.

106
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Andre interessante matematik-konstruktioner

\usepackage[all,line,dvips]{xy}
slut preamble

A
\\

Eksempel 4.80

\[ \xymatrix{ A \ar[r] \ar[d] & B \ar[d] C \ar[r] } \]

& D \rlap{\ ,}

D,

hvor man naturligvis skal lgge mrke til \rlap{\ ,} som bevirker at kommaet ikke forstyrrer placeringen af diagram indgangen.
4.7 4.8
18

Andre interessante matematik-konstruktioner Konstruktioner man br kunne

Flgende er en lille oversigt over de matematiske konstruktioner man br kunne vedrrende fremhvet matematik. Til enkelt liniers formler er det mest almindelige:
\begin{equation} \label{eq:3} \dbx = \dbx[3cm] \end{equation}

(4.24)

Eksempel 4.81

og
\begin{equation*} \dbx = \dbx[3cm] \end{equation*}

Eksempel 4.82

Til ere liniers konstruktioner vil flgende to konstruktioner kunne dkke op mod 90% af tilfldene.
\begin{align} \dbx &= \dbx[3cm] \label{eq:5}\\ &= \dbx \end{align} \label{eq:8}

= =

(4.25) (4.26)

Eksempel 4.83

Tilsvarende unummereret:
\begin{align*} \dbx &= \dbx[3cm] \\ &= \dbx \end{align*}

= =

Eksempel 4.84

Samt ere linier med kun et, centreret, formelnummer.


\begin{equation} \begin{split} \label{hest} \dbx &= \dbx[3cm] \\ &= \dbx \end{split} \end{equation}

Eksempel 4.85

= =

(4.27)

18 FiXme Note: skrives helt om eller smides helt vk

107

Femte Kapitel

Om stningskonstruktioner
Indenfor matematik og lignende fag fr man altid brug for stningslignende konstruktioner som ogs kan anvendes i sammenhnge hvor man mske ikke lige tnke p at anvende en stning. A I dette kapitel vil vi gennemg brugen af stninger i L TEX samt kongureringen af disse. Nr man nu har en stning vil man jo ogs gerne have et bevis,1 dette er ogs noget vi vil kigge p. Det kan ikke betale sig at begynde forfra med at lave konstruktioner til at denere stningskonstruktioner med. Lr i stedet at kongurere disse s de opfylder dine krav. Man br ogs lave sine beviskonstruktioner ordentligt. Man ser ofte at disse hjemmelavede konstruktioner ikke opfrer sig som de br i alle situationer. Isr br man vre opmrksom p den skaldte \halmos konstruktion som visse tidsskriftsskabeloner (og Scientic Workplace) tilsyneladende benytter sig af. Den er specielt kendt for at kunne give drlige resultater.
Mantra 5.1.

Efter min overbevisning er en god bevis anvendelse nr man srger for at beviset er tydeligt adskilt fra den omkringliggende tekst, f.eks. ved at srge for, at der er lidt blank plads fr og efter beviset (for at markere start og slut). Desuden br man gerne markere slutningen af beviset p en eller anden mde. Dette sker oftest ved at placere et tegn ved hjre kan af teksten. Dette med at placere bevismarkren lige efter den sidste tekst (hvilket er det \halmos-konstruktionen ofte gr) er ofte forvirrende for lseren (da den nemt overses, mens man skimmer siden, og man kan meget nemt f placeret symbolet forkert. Lige en bemrkning vedrrende beviser. Nr man har et bevis lige efter formulerigen af de man nsker at bevise, eller mske med nogle linier i mellem, s er der ikke nogen grund til at gre opmrksom p hvilken stning/ lemma, proposition det er man beviser. Hvis tvrtimod der er ere stnings/lemma/. . . deklarationer eller beviser mellem stningen og beviset s br man naturligvis gre opmrksom p hvilken stning det er beviset hrer til. Se f.eks. Eksempel 5.21.
Sidebemrkning 5.2.

5.1

Konstruer en ny stning

1 Det er der i hvert fald nogen som gerne vil have.

109
Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

5. Om stningskonstruktioner

A En stning i L TEX er i bund og grund et environment med en overskrift og et nummer som tlles op hver gang environmentet anvendes. En stningskonstruktion br vre adskillelig fra den omkringliggende tekst af forstelsesmssige rsager.

Denition 5.3.

\newtheorem

A En stningskonstruktion deneres i L TEX via makroen \newtheorem som kan anvendes i tre forskellige varianter.

env-navn }{ thm-navn } \newtheorem{ env-navn }{ thm-navn }[ dominerende-tller ] \newtheorem{ env-navn }[ flles-tller ]{ thm-navn }
\newtheorem{

Frste variant er den grundlggende konstruktion, hvor env-navn er det navn man nsker at bruge til stningsenvironmentet (dette navn br ikke indeholde danske bogstaver). Dette kunne f.eks. vre thm for stning
Eksempel 5.1
\newtheorem{thm}{Stning}

hvilket s kan anvendes p flgende vis:


Eksempel 5.2
\newtheorem{thm}{Stning}
slut preamble

\begin{thm} Dette er en stning. \end{thm}

Stning 1 Dette er en stning.

Man observerer at overskriften skrives i fed og selve teksten kommer i kursiv. Afsnit 5.2.1 samt 5.3.1 forklarer to mder man kan ndre dette p.
Domineret stning

Variant nummer to anvendes nr man gerne vil have stningsnummeret underlagt en anden tller. Her angiver man s navnet p denne tller som et ekstra argument (yderst til hjre) i [ ]-parenteser. Navnet p tlleren vil oftest vre enten chapter eller section. Vores eksempel fra fr ville s blive:
Eksempel 5.3
\newtheorem{thm}{Stning}[section]
slut preamble

\begin{thm} Dette er en stning. \end{thm}

Stning 5.1 Dette er en stning.

Stningstlleren vil s automatisk blive nulstillet hver gang section ndres.


Domineret og underlagt stning

Tredje variant anvendes nr man gerne vil have ere stningslignende environments til at anvende den samme tller, dvs. sledes at man kan f Stning 1 efterfulgt af Lemma 2, efterfulgt af Proposition 3 efterfulgt af Stning 4 etc. Men frst lidt teknisk forklaring: Nr man anvender en af varianterne
\newtheorem{ \newtheorem{

env-navn }{ thm-navn } env-navn }{ thm-navn }[ dominerende-tller ]


110

Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

Opstning af stningskonstruktioner med amsthm-pakken

vil der ud over environmentet env-navn ogs blive lavet en ny tller med navnet env-navn, i vore to eksempler ovenfor er der alts lavet en tller med navnet thm. Det er denne tller som srger for stningsnummeret. Hvis man nu vil lave et lemmaenvironment, som skal nummereres sammen med thm-environmentet, skal man alts anvende tredje variant med thm angivet som den flles tller.2
\newtheorem{thm}{Stning} \newtheorem{lemma}[thm]{Lemma}
slut preamble

Noget tekst. Stning 1 En stning. Noget mere tekst. Lemma 2 Et lemma. Stning 3 En anden stning.

Eksempel 5.4

\noindent Noget tekst. \begin{thm} En stning.\end{thm} Noget mere tekst. \begin{lemma} Et lemma.\end{lemma} \begin{thm} En anden stning.\end{thm}

Til tider vil man gerne kunne give en stning et ekstra navn, f.eks. hvis man anvender en srlig kendt stning. Lsning: Angiv navnet som et ekstra argument til stningsenvironmentet. Se desuden eksempel 5.22.
\newtheorem{lemma}{Lemma}
slut preamble

Eksempel 5.5

\begin{lemma}[daleifs lemma] \#\$\@***!!!? \end{lemma}

Lemma 1 (daleifs lemma) #$***!!!?

5.2

Opstning af stningskonstruktioner med amsthm-pakken


\newtheorem

Den almindelige opstning af \newtheorem (som set ovenfor) giver ikke brugeren nogen srlige muligheder for at ndre p udseendet. For at gre dette m vi ty til ekstra pakker. De mest anvendte er amsthm og ntheorem.3 Selv om amsthm ikke er lige s eksibel som ntheorem tager vi den med alligevel idet dokumentklassen amsart4 automatisk loader amsthm (og desvrre kan man ikke helt anvende amsthm og ntheorem i samme dokument). Til artikler og lignende er amsthm et ganske fornuftigt valg da forlagene m forventes at kunne hndtere amsthm konstruktioner.
5.2.1 Almindelig brug af amsthm

amsthm ntheorem

Pakken amsthm flger med resten af AMS-systemet og giver adgang til to ekstra makroer
\newtheorem*{ env-navn }{ \theoremstyle{ style } \newtheorem*

thm-navn }

\newtheorem* \theoremstyle

laver et stningsenvironment som ikke har noget nummer.

2 Bemrk at det giver ikke mening at blande syntaksen for variant 2 og 3. 3 Der er ogs andre pakker, men disse behandles ikke her. 4 Ofte anvendt til artikler som skal publiceres i en journal.

111
Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

5. Om stningskonstruktioner

Eksempel 5.6

\usepackage{amsthm} \newtheorem*{zorn}{Zorns lemma}


slut preamble

\begin{zorn} Zorn er det bare\dots \end{zorn}

Zorns lemma. Zorn er det bare. . .

\theoremstyle

Observer ivrigt at med amsthm kommer der automatisk et . efter overskriften. Makroen \theoremstyle understtter tre forskellige vrdier (bemrk at dette glder kun for amsthm, thi ntheorem har ogs en \theoremstyle som dog med andre argumenter, samt en anden fortolkning) plain er standard opstningen, dvs. overskrift og nummer i almindelig tekstfont med fed. Indholdet af stningen er i kursiv. denition som plain men her er indholdet skrevet med den almindelige tekst font i stedet for kursiv. remark som denition men nu med headerteksten i kursiv i stedet for fed. Man br bemrke at \newtheorem automatisk srger for at gemme den nuvrende opstning i det nye stnings-environment, hvilket betyder at nr man skifter til en anden \theoremstyle skal man ikke bekymre sig om at dette pvirker de stningskonstruktioner man allerede havde lavet.

Eksempel 5.7

\usepackage{amsthm} \newtheorem{thm}{Stning} \theoremstyle{definition} \newtheorem{defn}[thm]{Definition} \theoremstyle{remark} \newtheorem{remark}[thm]{Bemrkning}


slut preamble

Stning 1. En stning. Denition 2. En denition. Bemrkning 3. En bemrkning.

\begin{thm} En stning.\end{thm} \begin{defn} En definition.\end{defn} \begin{remark} En bemrkning. \end{remark}

For mere information vedrrende amsthm se AMS (2004).


5.2.2
proof

Beviser med amsthm

amsthm

babel
Eksempel 5.8

stiller ogs et proof -environment til rdighed. Dette environment har den fordel (i modstning til mange hjemmebryggede) at den placerer en slut- til hjre efter environmentet, men altid p samme side5 som afslutning af beviset. Bevisnavnet kan styres via babel.
\usepackage[danish]{babel} \usepackage{amsthm}
slut preamble

\begin{proof} Dette er et bevis \end{proof}

Bevis. Dette er et bevis

proof kan tage et ekstra valgfrit argument som s erstatter Bevis-delen.

5 Meget almindeligt problem ved hjemmelavede beviskonstruktioner, slutmarkren kommer pludselig til at

st alene verst p en side, eller den str ikke ude ved hjre kant.

112
Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

Opstning af stningskongurationer med ntheorem-pakken

\usepackage[danish]{babel} \usepackage{amsthm}
slut preamble

Eksempel 5.9

\begin{proof}[Bevis for fundamentalstning] \dots \end{proof}

Bevis for fundamentalstning. . . .

At Bevis skal vre kursiv er desvrre direkte hardwired6 ind i amsthm, men lidt snedighed kan altid hjlpe. Man skal omdenere \proofname (men pga. babel skal det gres efter \begin{document}, eller se afsnit 9.4).
\usepackage{amsthm}
slut preamble

\proofname

Eksempel 5.10

\renewcommand{\proofname}% {\textnormal{\textbf{Bevis}}} \begin{proof} Dette er et bevis \end{proof}

Bevis. Dette er et bevis

Placeringen af den afsluttende kan til tider vre en smule problematisk. Afslutter man sit bevis med andet end tekst bliver slutmarkreren ofte placeret lidt for langt nede. Man kan dog i stedet placere den pr. hndkraft via makroen \qedhere.
\usepackage{amsthm}
slut preamble

\qedhere

Eksempel 5.11

\begin{proof} \[ \dbx[2cm] \] \end{proof} \begin{proof} \[ \dbx[2cm] \qedhere \] \end{proof} \begin{proof} \begin{enumerate} \item \dbx \end{enumerate} \end{proof} \begin{proof} \begin{enumerate} \item \dbx \qedhere \end{enumerate} \end{proof}

Bevis.

Bevis. Bevis. Bevis. 1. 1.

Pakken ntheorem er en del mere intelligent med hensyn til placeringen af slutmarkren og kan lave tricket anvendt i eksempel 5.11 automatisk.
Sidebemrkning 5.4. Pakken amsthm indlses automatisk hvis man anvender en af AMS-klasserne amsart eller amsbook.

ntheorem

amsart amsbook

5.3

Opstning af stningskongurationer med ntheorem-pakken


ntheorem

A Pakken ntheorem er efter min mening den mest brugbare stningsudvidelse til L TEX den har en meget nem og simpel kongurering og giver ekstra features som andre stningspakker mangler. Manualen til ntheorem kan ses i May (2002).

6 Dvs. det str direkte i kildekoden og er derfor ikke kongurerbart.

113
Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

5. Om stningskonstruktioner

Den almindelige brug af ntheorem er via


Eksempel 5.12
\usepackage[amsmath,thmmarks,...]{ntheorem}

amsmath denne option stter nogle hooks ind i diverse amsmath environments for at kunne lave afslutningsmarkeringen, se nedenfor. Da denne option ndrer noget fra amsmath er det derfor ndvendigt at ntheorem loades efter amsmath! thmmarks Slr muligheden for afslutningsmarkeringen til, beskrives i afsnit 5.3.3. For ere options til ntheorem, se May (2002).
5.3.1
\newtheorem \newtheorem*

Kongurering

Syntaksen for \newtheorem med ntheorem er den samme som allerede nvnt i afsnittet om \newtheorem p side 109, desuden har ntheorem (ligesom amsthm) en \newtheorem* til ikke-nummererede konstruktioner. Den strste forskel er ntheorems kongurations muligheder. Lad os se p kongureringen.
\theoremstyle{

style } se beskrivelsen p modstende side.

\theorembodyfont{

font kommandoer } ndrer fonten anvendt til selve teksten i stningskonstruktionen. Vil man f.eks. srge for at den nste stningskonstruktion man denerer fr den almindelige tekstfont kan man anvende \theorembodyfont {\normalfont}. font kommandoer } dette ndrer fonten anvendt til selve overskriften, nummeret samt den valgfrie ekstra tekst. Eksempel:

\theoremheaderfont{

\theoremheaderfont{\normalfont\bfseries\large}

Bemrk at idet \theoremheaderfont arver fontegenskaber fra \theorembodyfont kan det vre en god ide at starte \theoremheaderfont med \normalfont (og evt. \normalsize).
\theoremseparator{

ting } er det som adskiller overskriften fra selve teksten. ting kan vre :, . etc. Det kan ogs vre en spacing kommando hvis man gerne vil have noget mere luft. Eksempel \theoremseparator{.}. Bemrk at \theoremseparator ikke skal anvendes til at lave stninger hvor overskriften str p en linie for sig selv. Hvordan man opnr linieskift i starten af en stningskonstruktion kommer vi til senere, se afsnit 5.3.2. lngde } kan anvendes til at indentere hele konstruktionen, ikke bare frste linie. Det mest normale er at denne er sat til nul, hvilket den er som standard.

\theoremindent{

\theoremnumbering{

style } angiver hvordan konstruktionsnummeret skal formateres, som vrdier til style kan anvendes arabic i.e. almindelige tal (standarden), alph, Alph sm eller store bogstaver, roman, Roman sm eller store romertal, greek, Greek sm eller store grske bogstaver. ting } anvendes til at specicere det symbol (hvis man nsker et) som vil anvendes som afslutningssymbol i den nste stningskonstruktion som man vil denere. Brugen er beskrevet nrmere i afsnit 5.3.3. Husk at hvis tingen man vil anvende er et matematiksymbol som f.eks. \square ( ) da skal man skrive det som \ensuremath{\square}.
114

\theoremsymbol{

Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

Theoremstyles

\theoremclass{

env-navn } anvender man denne med et env-navn som allerede er deneret, s anvendes de kongurationer som blev registreret via \newtheorem{ envnavn }{ navn }.

For bedre at f overblik over hvordan dette fungerer ser vi p et eksempel


\usepackage{ntheorem} \theoremheaderfont{\normalfont} \theoremseparator{:\quad} \theoremnumbering{greek} \newtheorem{thm}{Stning} \theoremheaderfont{\normalfont\bfseries} \theorembodyfont{\normalfont\sffamily} \newtheorem{lemma}[thm]{Lemma}
slut preamble

Eksempel 5.13

Stning : Lemma :

tekst
tekst

\begin{thm} tekst \end{thm} \begin{lemma} tekst \end{lemma}

Det vigtige at forst her er at nr \newtheorem bliver udfrt husker den automatisk den jeblikkelige vrdi af de forskellige \theorem X -makroer. Hvilket igen betyder at nr / hvis vi s senere ndrer f.eks. \theoremsymbol da ndrer vi ikke ved de stningskonstruktioner som vi allerede har lavet.
5.3.2 Theoremstyles

Pakken ntheorem har nogle helt anderledes theoremstyles end amsthm, hvor de i amsthm ndrede p nogle fonte, ndrer de nu i ntheorem ved mden hvorp headeren opfrer sig p. Vi har flgende theoremstyles, se ogs Eksempel 5.14. Ved beskrivelsen af hver theoremstyle nder man desuden et eksempel hvor resultatet. plain er standardstilen. Her er headeren bare navn p samme linie som headeren. Stning 1 Tekst break som ved plain, men headeren er nu p en linie for sig selv og teksten begynder p nste linie. Stning 1 Tekst change som plain, men med rkkeflgen af navn og nummer byttet om. 1 Stning Tekst changebreak svarende til break. 1 Stning Tekst margin som plain, men her er nummeret skrevet i marginen fr navnet. 1 Stning Tekst marginbreak svarende til break.
115
Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

nummer og teksten begynder

5. Om stningskonstruktioner

1 Stning Tekst nonumberplain svarer til plain, men uden noget nummer. Vi skal senere se at denne kan anvendes til bevis-konstruktioner. Bevis Tekst nonumberbreak svarende til break, men uden nummer. Bevis Tekst empty som nonumberplain, men her helt uden overskrift, i.e. kun det valgfrie argument til stningen bliver skrevet som overskrift. emptybreak som empty, men med linieskift efter overskriften.
Eksempel 5.14
\usepackage{ntheorem} \newtheorem{thm}{Stning} \theoremstyle{break} \newtheorem{lemma}[thm]{Lemma} \theoremstyle{marginbreak} \theorembodyfont{\normalfont} \newtheorem{defn}[thm]{Definition}
slut preamble

Stning 1 En almindelige stning Lemma 2 Her starter teksten frst p nste linie 3 Denition Her er nummeret fr navnet og vi starter p en ny linie

\begin{thm} En almindelige stning \end{thm} \begin{lemma} Her starter teksten frst p nste linie \end{lemma} \begin{defn} Her er nummeret fr navnet og vi starter p en ny linie \end{defn}

Citering i stningsoverskrift

Normalt kan man godt citere en artikel som en del af det valgfri argument til stningen, dvs.
Eksempel 5.15
\begin{theorem}[\cite{vigtigartikel}]

Men nsker man at tilfje noget i citeringen, i.e. \cite[noget tekst]{vigtigartikel} s gr det galt. Her kan man anvende flgende trick (som antager at fonten for overskriften er sat til fed):
\begin{theorem}[\textbf{\cite[noget tekst]{vigtigartikel}}]

Eksempel 5.16

5.3.3

Slutmarkrer

Nr ntheorem er aktiveret med optionen [thmmarks,...] har man nu muligheden for at f placeret et symbol i slutningen af ens stningskonstruktion (eller et bevis). I modstning til proof fra amsthm vil placeringen her vre noget mere intelligent, f.eks. kan den selv srge for at ytte placeringen op i slutningen af sidste punkt af en liste, hvis teksten slutter med en liste. Den kan ogs placere symbolet pnt hvis teksten slutter med noget fremhvet matematik.
116
Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

Slutmarkrer

Det skal lige indskydes at det anses som drlig stil at afslutte et bevis med en fremhvet formel.
Sidebemrkning 5.5.

Denne bedre placering kommer dog med en pris. Pakken anvender aux-len til at beregne sig frem til hvor slutsymbolet skal placeres. Dette kan s i vrste fald desvrre betyde at man kan blive ndt til at kompilere sit dokument op til fem gange fr den endelige placering er fastlagt.
Sidebemrkning 5.6.
ntheorem

Desuden er det meget vigtigt at linien lige over f.eks. \end{thm} ikke m vre blank thi s forsvinder slutmarkren. Man kan desuden f et par problemer, hvis man har anvendt et symbolsttende environment inden i et andet og at disse to slutter som
Sidebemrkning 5.7.
\end{env2} \end{env2}

Her kan slutsymbolet for det ene environment forsvinde. Lsningen er at blive kreativ med ~ og \vspace.
\usepackage[thmmarks]{ntheorem} \theoremsymbol{\rule{5pt}{5pt}} \newtheorem*{thmA}{Test A} \theoremsymbol{\ensuremath{\triangle}} \newtheorem*{thmB}{Test B}
slut preamble

Eksempel 5.17

Test A tekst Test B tekst

\begin{thmA} tekst \begin{thmB} tekst \end{thmB} \vspace{-\theorempostskipamount} ~ \end{thmA}

De este anvender i forvejen pakken amsmath s man skal huske at loade ntheorem efter amsmath og huske at lade amsmath vre option til ntheorem, i.e.
\usepackage{amsmath} \usepackage[amsmath,thmmarks]{ntheorem}

Man kan s frit vlge om man vil have et slutsymbol til sin konstruktion eller ej. Hvis man ikke vil have det, skal man bare anvende \theoremsymbol{} (hvilket er standardvrdien til at starte med).

\theoremsymbol

117
Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

5. Om stningskonstruktioner

Eksempel 5.18

\usepackage{amsmath,amssymb} \usepackage[amsmath,thmmarks]{ntheorem} \theoremsymbol{\rule{4pt}{4pt}} \newtheorem{thm}{Stning} \theoremstyle{break} \theoremsymbol{% \ensuremath{\scriptstyle\blacktriangle}} \newtheorem{lemma}[thm]{Lemma}


slut preamble

Stning 1 tekst Lemma 2 1. tekst 2. tekst

\begin{thm} tekst \end{thm} \begin{lemma} \begin{enumerate} \item tekst \item tekst \end{enumerate} \end{lemma}

I May (2002) kan man lse mere om opstningen af ntheorem, bl.a. om hvordan man manuelt kan stte/fjerne slutmarkren i hvis man pludseligt stod og havde brug for dette.
5.3.4 Beviser med ntheorem

proof

Med ntheorem er det meningen man ogs anvender en stningskonstruktion til manuelt at lave et proof -environment med, ntheorems indbyggede support for slutsymboler lgger jo ogs op til dette. Det eneste man skal gre op med sig selv er headerfont, bodyfont, slutsymbol og om man vil have nonumberplain eller nonumberbreak som theoremstyle. Flgende er meget almindelig.
\usepackage{amsmath,amssymb} \usepackage[amsmath,thmmarks]{ntheorem} \theoremstyle{nonumberplain} \theoremheaderfont{% \normalfont\bfseries} \theorembodyfont{\normalfont} \theoremsymbol{\ensuremath{\square}} \theoremseparator{.} \newtheorem{proof}{Bevis}
slut preamble

Eksempel 5.19

\begin{proof} Dette er et bevis med noget matematik \begin{equation*} a^2+b-1=2. \end{equation*} \end{proof}

Bevis. Dette er et bevis med noget matematik a2 + b 1 = 2.

Den ekstra overskrift som kan gives til en stningskonstruktion er lidt anderledes ved ntheorem:
Eksempel 5.20
\usepackage[thmmarks]{ntheorem} \theoremstyle{nonumberplain} \theoremheaderfont{\normalfont\bfseries} \theorembodyfont{\normalfont} \theoremsymbol{\rule{5pt}{5pt}} \theoremseparator{.} \newtheorem{proof}{Bevis}
slut preamble

Bevis (for mit lemma). tekst

\begin{proof}[for mit lemma] tekst \end{proof}

118
Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

Andet godt med stningskonstruktioner

Antag vi er i gang med at bevise en hovedstning. Vi har lige frdiggjort 35 lemmaer (det er en meget svr stning) og nu vil vi gerne lave beviset for stningen. Dette skriver man gerne som: Bevis for Stning. . . . Dette kan vi kse ved at lave et ekstra proof -environment: proofof . Bemrk brugen af stilen empty.
\usepackage[thmmarks]{ntheorem} \theoremstyle{empty} \theoremheaderfont{\normalfont\itshape} \theorembodyfont{\normalfont} \theoremsymbol{\rule{5pt}{5pt}} \theoremseparator{.} \newtheorem{proofof}{}
slut preamble

Eksempel 5.21

Bevis for daleifs hovedstning. Simpelt, ved brug af lemma 13, 17, 23, 29 og 34.

\begin{proofof}[Bevis for daleifs hovedstning.]% anvend en reference her Simpelt, ved brug af lemma 13, 17, 23, 29 og 34. \end{proofof}

5.4

Andet godt med stningskonstruktioner

Vi vil her g ud fra at man altid anvender ntheorem. Som tidligere nvnt skal man ikke kun tnke p stningskonstruktioner som noget vedrrende stninger og beviser. Det er jo bare en overskrift med et nummer som tller op for hver gang man anvender environmentet. Dvs. man kan uden problemer anvende det til at lave en liste af opgaver, sprgsml etc. De bliver jo s automatisk nt afgrnset fra resten af teksten. Som studerende kan man ogs anvende en lignende konstruktion til at pakke A uden om sine besvarelser (hvis man f.eks. laver sine aeveringer i L TEX). Her kan \theoremstyle{empty} med held anvendes.
\usepackage{amsmath} \usepackage[amsmath,thmmarks]{ntheorem} \theoremstyle{empty} \theoremheaderfont{\normalfont\bfseries} \theorembodyfont{\normalfont} \theoremsymbol{\ \textnormal{q.e.d.}} \newtheorem{opgave}{Opgave}
slut preamble

Eksempel 5.22

Opgave 2.3. en besvarelse.

q.e.d.

\begin{opgave}[Opgave 2.3.] en besvarelse. \end{opgave}

Det man skal bemrke er at man nu selv kan skrive overskriften til stningen, hvilket jo kan vre ndvendigt idet de stillede opgaver jo sjldent kommer i rkkeflge.
5.4.1 Stninger med ramme eller farvet baggrund
framed color xcolor

Dette kan ntheorem faktisk godt selv gre. Man fr brug for pakken framed (som allerede er en del af memoir -klassen) samt evt. color eller xcolor. Man skal frst aktivere pakkeoptionen framed og kan s anvende
\newframedtheorem. . . \theoremframecommand{ \newshadedtheorem. . .
119
Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

\newframedtheorem

kode }

\theoremframecommand \newshadedtheorem

5. Om stningskonstruktioner

\theoremframcommand er et ret misvisende navn, da den kun pvirker \newshadedtheorem.

Bemrk at \theoremframecommand ikke er deneret p forhnd og hvis man ikke selv denerer den s vil ntheorem antage at man anvender pstricks (hvilket ikke fungerer A under pdfL TEX, s det gr vi ikke). Lad os tage et eksempel.

Eksempel 5.23

\usepackage{xcolor,framed} \usepackage[framed]{ntheorem} \newframedtheorem{thm}{Stning} \def\theoremframecommand{\colorbox{gray}} \newshadedtheorem{lemma}{Lemma}


slut preamble

tekst tekst tekst

Stning 1 tekst tekst tekst

tekst tekst tekst \begin{thm} tekst tekst tekst \end{thm} tekst tekst tekst \begin{lemma} tekst tekst tekst \end{lemma} tekst tekst tekst

tekst tekst tekst Lemma 1 tekst tekst tekst tekst tekst tekst

Efter min mening er der alt for meget spildt plads her. Der er luft fra teksten ned til rammen eller den farvede baggrund, og fra kanten af denne og ned til teksten inden i stningen. Har man valgt at stte ramme eller baggrundsfarve p alle sine beviskonstruktioner (og ikke har nogen bevis konstruktioner), s kan man slippe uden om problemet via

Eksempel 5.24

\setlength\theorempreskipamount{0pt} \setlength\theorempostskipamount{0pt}

Men har man beviser, er det naturligvis et problem da mellemrummet fr og efter beviset nu forsvinder. Personligt mener jeg at det er et problem at man ikke kan styre afstanden fr og efter stningskonstruktioner fra konstruktion til konstruktion. Vi vil lave vores egen version af \newshadedtheorem som vil anvende \newshadedtheorem internt.

120
Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

Stninger med ramme eller farvet baggrund


\makeatletter \def\theoremframecommand{} \newcommand\NewShadedTheorem[1]{% \@ifnextchar[{\NST@levelii{#1}}{\NST@levelii{#1}[]}} \def\NST@levelii#1[#2]#3{% \@ifnextchar[{\NST@leveliii{#1}[#2]{#3}}{\NST@leveliii{#1}[#2]{#3}[]}} \newcommand\NST@helper[1]{% \edef\@tempa{c@#1}\edef\@tempb{c@#1@inner}% \expandafter\let\csname\@tempa\expandafter\endcsname\csname\@tempb\endcsname% \edef\@tempa{p@#1}\edef\@tempb{p@#1@inner}% \expandafter\let\csname\@tempa\expandafter\endcsname\csname\@tempb\endcsname% \edef\@tempa{cl@#1}\edef\@tempb{cl@#1@inner}% \expandafter\let\csname\@tempa\expandafter\endcsname\csname\@tempb\endcsname% \edef\@tempa{the#1}\edef\@tempb{the#1@inner}% \expandafter\let\csname\@tempa\expandafter\endcsname\csname\@tempb\endcsname% } \def\NST@leveliii#1[#2]#3[#4]{% \ifx\\#2\\% i.e. no common counter \ifx\\#4\\% i.e. no dominant counter \newshadedtheorem{#1@inner}{#3}% \NST@helper{#1}% \else% i.e. dominant counter \newshadedtheorem{#1@inner}{#3}[#4]% \NST@helper{#1}% \fi% \else% i.e. common counter \newshadedtheorem{#1@inner}[#2]{#3}% \fi% \newenvironment{#1}{% % code stolen from ntheorem.sty \thm@topsepadd \theorempostskipamount \ifvmode \advance\thm@topsepadd\partopsep\fi \trivlist \@topsep \theorempreskipamount \@topsepadd \thm@topsepadd \item \setlength\theorempreskipamount{0pt}% \setlength\theorempostskipamount{0pt}% \begin{#1@inner} }{\end{#1@inner}\endtrivlist\@endparenv}% } \makeatother

Kodetip 5.1

S er det bare at anvende


\def\theoremframecommand{% \colorbox{shadecolor}} \NewShadedTheorem{thm}{Stning} \def\theoremframecommand{\fbox} \theoremstyle{nonumberplain} \NewShadedTheorem{thmstar}{Stning} \begin{thm} En nummereret stning. \end{thm} tekst tekst tekst \begin{thmstar} En ikke-nummereret stning. \end{thmstar}

Eksempel 5.25

Stning 1 En nummereret stning. tekst tekst tekst Stning En ikke-nummereret stning.

Man bedes bemrke at \NewShadedTheorem ikke giver en stjernet environment som ntheorems udgave af \newtheorem normalt gr (denne stjernede
Sidebemrkning 5.8.

Fortsttes p nste side 121


Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

5. Om stningskonstruktioner

version avnendes i forbindelse med stningslister, hvilket ikke er noget vi vil g i detaljer med her).

5.4.2

Konstruktioner som starter med en liste

Nr en stning starter med en liste (og man ikke har anvendt \theoremstyle{break}) da vil frste punkt p listen bende sig p samme linie som overskriften, hvilket ikke er pnt, se for eksempel 5.27. Har man mange af disse kan man overveje at lave en variant af ens stningsenvironment, som er lavet med \theoremstyle{break}. Eksempel
Eksempel 5.26
\usepackage[amsmath,thmmarks]{ntheorem} \newtheorem{thm}{Stning} \theoremstyle{break} \newtheorem{thmbreak}[thm]{Stning} \theoremstyle{plain} ...

Hvis man kun har nogle f, kan man anvende flgende lille makro:
Kodetip 5.2
\newcommand*\InsertTheoremBreak{ \begingroup % keep changes local \setlength\itemsep{0pt} \setlength\parsep{0pt} \item[\vbox{\null}] \endgroup }

\InsertTheoremBreak playstyle)

har visse begrnsninger (i underlige kombinationer med \dismen det har \theoremstyle{break} ogs, s det er en nem lille brugbar makro. Nedenfor nder man et eksempel (vi har gemt preamblen for at spare plads).
\begin{thm} \begin{enumerate} \item nummer et \item nummer to \item \dots \end{enumerate} \end{thm} \begin{thm} \InsertTheoremBreak \begin{enumerate} \item nummer et \item nummer to \item \dots \end{enumerate} \end{thm}

Eksempel 5.27

Stning 1

1. nummer et

2. nummer to 3. . . . Stning 2 1. nummer et 2. nummer to 3. . . .

Det skal dog lige nvnes at konstruktionen ovenfor desvrre er lidt skrbelig hvis den kommer tt p et sideskift. Her kan man alts risikere at stningsoverskriften kommer p en siden mens resten kommer p nste side.
Sidebemrkning 5.9.

122
Kapitlet er sidst opdateret 2010/03/03 00:36 (revision 632)

Mere om optimeringseksemplet

5.4.3

Mere om optimeringseksemplet
alignat

I eksempel 4.27 viste vi en anvendelse af alignat til en traditionel optimeringsopgave. Opbygningen i dette eksempel er den isr studerende fra Matematik-konomi (operationsanalyse) anvender, sandsynligvis fordi det er sdan det er skrevet i deres bger. Personligt synes jeg udtrykket er lidt mangelfuldt isr hvis hele specialet er bygget op omkring analysen og lsningen af dette (eller ere) problem(er), i dette tilflde burde udtrykket (efter min mening) fremhves noget mere. Mit forslag forklaring flger i eksempel 5.28. Af eksempel 5.28 skulle man gerne observere:
\usepackage{amsmath} \usepackage[amsmath]{ntheorem} \theoremseparator{.} \newtheorem{problem}{Problem}
slut preamble

Eksempel 5.28

\begin{problem}\label{problem1} Minimer flgende udtryk \begin{equation}\label{eq:prob1} f(x,y,x,w)+\Omega(\xi) \end{equation} under hensyntagen til \begin{subequations} \label{eq:prob1-side} \begin{align} &\dbx[2cm]\label{eq:prob1a}\\ &\dbx[2cm]\label{eq:prob1b}\\ &\dbx[2cm]\label{eq:prob1c}\\ &\dbx[2cm]\label{eq:prob1d} \end{align} \end{subequations} \end{problem} Vi kan s henvise til Problem~\ref{problem1} som vores overskyggende hovedproblem. Til \eqref{eq:prob1} som udtrykket vi skal undersge, til \eqref{eq:prob1-side} for det overordnede nummer for sidebetingelserne og til en enkel betingelse~\eqref{eq:prob1c}.

Problem 1. Minimer flgende udtryk f (x, y, x, w) + () under hensyntagen til (2a) (2b) (2c) (2d) Vi kan s henvise til Problem 1 som vores overskyggende hovedproblem. Til (1) som udtrykket vi skal undersge, til (2) for det overordnede nummer for sidebetingelserne og til en enkel betingelse (2c). (1)

(i) Man har mulighed for at give hele problemet en overskrift og et nummer sledes man kan henvise til hele problemet. (ii) Man har mulighed for at henvise til det udtryk man skal optimere. (iii) Man har mulighed for at henvise til sidebetingelserne samlet eller hver af betingelserne for sig. Denne adskillelse er (af tekniske rsager) ikke mulig nr man samler det hele med alignat eller lignende. Jeg synes at den frihed vi her har demonstreret giver helt andre muligheder for opbygningen af specialet end man normalt har, med notationen fra eksempel 4.27.

123

Sjette Kapitel

Om grak, ydende objekter og billedtekst


A Nye L TEX-brugere har i starten ofte problemer med inklusion af grak og med begrebet oats, isr fordi der er begrnsninger p formaterne og fordi oats er meget anderledes i forhold til det man mske er vant til. Dette kapitel skulle gerne afhjlpe dette. Bare for en ordens skyld gr vi opmrksom p at vi med hensyn til grak ikke A behandler hvordan man laver grak til L TEX, ej heller hvordan man kan lave grak A direkte via L TEX. Dette ligger udenfor rammerne af denne bog og lseren m derfor hente hjlp andetsteds.

Igen og igen kommer der sprgsml p diverse mailinglister eller nyhedsgrupper hvor den enkelte bruger har inkluderet noget grak eller anvendt f.eks. skalering (\scalebox) eller rotering (\rotatebox) og det virker ikke. I 90 % af tilfldene bunder det ud i at brugeren har fremvist sit dokument (p skrmen) som dvi. Men der A er visse eekter som det ikke er L TEX som laver og som derfor ikke er med i dvi-len. Derfor hvis der er et problem med noget inkluderet grak eller tilsvarende og man sidder og kigger p en dvi-l (via yap, windvi eller xdvi), s konvertr til PostScript eller pdf og se om problemet stadigvk er til stede. Tilsvarende er der ofte problemer med inkluderet grak som enten helt eller delvist ikke kan fremvises i dvi-vieweren. Ofte har det noget at gre med manglende fonte i vieweren. Hvis nsker at se om der er en lsning, kan man sge via Google Groups i gruppen comp.text.tex. Der skulle vre noget med at MiKTEX version 2.5 har skiftet mden hvorp den fremviser inkluderede billeder i yap. Man henvises til MiKTEXs hjemmeside. Nu er det sagt og s gider jeg ikke sige det igen!
Formaning 6.1.

yap windvi xdvi

Det er en meget meget drlig ide at have mellemrum i lnavne eller biblioteksnavne. Erstat mellemrummet med en _ i stedet. Der er mange programmer som har problemer med mellemrum i lnavne. dvips har i hvert fald tidligere haft problemer med det (ved ikke om man har fet det rettet endnu). Men generelt anbefales at man aldrig anvender mellemrum i lnavne.
Formaning 6.2.

6.1

Inklusion af ekstern grak

Problemet med dvi-outputformatet er at den inkluderede gur faktisk ikke er inkluderet i selve dvi-len, TEX er sdan set ligeglad med selve guren, den vil bare vide hvor meget plads den skal afstte til guren. Selve inklusionen sker i stedet via de forskellige drivere, f.eks. dvips. Det vil alts sige at udvalget af grak formater, man A kan anvende, afhnger af valget af driver. I de este tilflde vil L TEX selv lave valget af driver for os. De primre drivere (sdan ca.) er:
dvips

dvips

kan i standard versionen kun klare eps-formatet. eps er en delmngde af


125

eps

Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

PostScript

PostScript hvor det bl.a. er pkrvet at der er en


%%BoundingBox

tal

tal

tal

tal

linie i len. Tallene angiver koordinaterne til hhv. nederste venstre- og verste hjre hjrne af guren. pdftex driveren associeret med pdflatex, den srger alts for at inkluderingen af guren sker direkte sammen med oversttelsen. Denne driver understtter: jpg, png, pdf og mps1 . A dvipdfmx en efterbehandler til almindelig L T X p linie med dvips men bare fra dvi E direkte til pdf. Denne understtter faktisk alle formaterne fra dvips og pdftex tilsammen. Dog med en lille hage:
A For at kunne inkludere jpg, png eller pdf skal L TEX vide hvilken BoundingBox (dvs. A strrelse) guren har og da L TEX ikke kan lse disse tre formater skal brugeren hjlpe. Man krer det lille program ebb p hver gur. Dette skaber for filnavn.xxx len filnavn.bb hvilket s anvendes som BoundingBox. For mere info se Wicks (1999).

ebb

Vi vil anbefale at man i holder sig til pdflatex, primrt fordi det er det program som understtter est billedformater, samt fordi det er de frreste nybegyndere i dag som ved hvad PostScript eller eps er for noget. Det strste problem vedr. det at arbejde direkte i pdf med pdflatex er faktisk Adobe Reader, specielt p Windows.2 Vi vil derfor anbefale at man anvender alternative pdffremvisere. Der ndes mange til bde Mac OS X og til Linux (evince, okular og xpdf er ganske gode p Linux, og editoren TeXShop kommer med sin helt egen pdf-fremviser). Til Windows kan Sumatra PDF anbefales (nd den via Google), desuden kommer editoren TeXWorks med sin helt egen (og ret smarte) pdf-fremviser.3 Man fr derfor brug for at vide hvordan man konverterer mellem de forskellige formater, hvilket er emnet for nste afsnit.
6.1.1 Billed/gur-konvertering

EPS til PDF


epstopdf

A Anvend epstopdf den flger med L TEX distributionen. Visse versioner af programmet krver at man har GhostScript installeret. Syntaksen er

epstopdf filnavnind.eps

Man br ikke anvende ps2pdf til konvertering af eps-ler, idet dette program normalt vil lave outputlen om til f.eks. en hel A4-side, dvs. den delgger BoundingBoxen, epstopdf bevarer i stedet denne.
epstopdf ps2pdf

epstopdf og ps2pdf anvender begge programmet ghostscript internt. Det skal nvnes at dette program kan nde p automatisk at rotere visse sider. Da epstopdf ikke kan tage nogen argumenter skal man p Linux udfre

Sidebemrkning 6.3.

Fortsttes p nste side


1 Output fra METAPOST. 2 Adobe Reader vil p WIndows lse pdf-len sledes at pdflatex ikke kan skrive til den men AR har den

ben. Det er der nogle editorer som ahr et modsvar til, f.eks. TeXnicCenter, men det er generelt et problem.
3 Faktisk kan TeXWorks kun arbejde i pdf.

126
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

JPG til EPS

setenv GS_OPTIONS -dAutoRotatePages=/None

under tcsh eller under bash


export GS_OPTIONS='-dAutoRotatePages=/None'

fr man krer epstopdf. Ved ps2pdf kan -dAutoRotatePages=/None bare speciceres som argument. Under Windows er alt naturligvis anderledes. Ved MiKTEX skulle syntaksen blive
epstopdf --gsopt=-dAutoRotatePages=/None fil.eps

(dette er dog utestet)4 FiXme Note: skal testes

JPG til EPS

Man kan anvende forskellige programmer som kan konvertere guren til en epsl, men det anbefalede program er jpeg2ps. Programmet kan hentes via http://www. pdflib.com/download/free-software/jpeg2ps/ og ndes bde til Windows og Linux. Syntaks:
jpeg2ps filnavn.jpg > filnavn.eps

jpeg2ps

som s skaber filnavn.eps. Fordelen ved dette program er at den resulterende eps-l kun bliver en lille smule strre end originalen. I modstning til f.eks. konvertering via programmet convert (fra ImageMagick), som faktisk dekomprimerer billedlen, hvilket ofte forger lstrrelsen med en faktor 100.
PNG til EPS

Her er det nemmeste nok frst at anvende et hvilket som helst billedbehandlingsprogram til at konvertere len til jpg og derefter anvende jpeg2ps.
MPS til EPS

Outputtet fra METAPOST (som ofte bare er p formen lnavn . n , n N) er en delmngde af eps. . .
PDF til EPS

Dette er en smule tricky.5 Det bedste resultat jeg k var ved brug af pdftops som flger med xpdf (som desvrre kun ndes til Linux). Dog giver pdf2ps (del af GhostScript) ogs brugbare resultater. Syntaksen med pdftops er
pdftops -eps fil.pdf

SVG til EPS

Grak formatet svg (Scalable Vector Graphics) kommer i fremtiden til at spille en
5 I hvert fald ud fra den ikke videnskabelige test jeg afprvede.

svg

127
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

A strre og strre rolle. Pt. kan L TEX ikke selv hndtere svg, men der ndes konverterings vrktjer som gr det muligt at konvertere til eps. Tak til Mikkel Kamstrup Erlandsen for at have gjort opmrksom p dette. Programmet Inkscape (http://www.inkscape. org) kan f.eks. lse svg og gemme det som eps.
sam2p

Som et projekt under udvikling kan nvnes sam2p som er et program som nrmest kan konvertere et vilkrligt billedformat til PostScript eller PDF. Desuden skulle det vre i stand til at levere meget mindre ler end f.eks. Imagemagick (convert). Programmet kan downloades via http://www.inf.bme.hu/~pts/sam2p/, hvor man bde nder en Unix/Linux version samt binre til Windows. Jeg har ikke personligt den store erfaring med programmet, men de som har testet det har vret meget begejstrede.
Sidebemrkning 6.4.

pdfcrop pdftops

Jeg vil ogs lige selv nvne programmet pdfcrop som flger med TEX Live. Det kan anvendes til at croppe pdf-ler, til pdf kvivalenten til en eps-l. Jeg anvender det i Madsen (2008b) sammen med pdftops, da det i forhold til dvips giver bedre croppede gurer, isr hvis der er specielle rotationseekter.
Sidebemrkning 6.5.

En enkelt formaning: Anvend ikke jpg eller png som originalformat til stregtegninger, her br eps (eller pdf anvendes). Pas ogs p med skalering af jpg eller png, thi idet disse er bitmatformater (bygget op af sm rkanter) er den eneste mde disse kan gres strre p, at gre rkanterne strre. Resultatet bliver s at guren kommer til at se grynet ud. Nedskalering er der dog ikke noget problem med.
Sidebemrkning 6.6.

6.1.2
graphicx

Syntaks for inkludering af ekstern grak

A For at inkludere grak i L TEX anvender man generelt pakken graphicx.6 Man vil nde information vedrrende graphicx i Carlisle (1999b) samt Reckdahl (2005). Loades via:

\usepackage[

options ]{graphicx}

options anvendes sjldent, men kan f.eks. anvendes til at specicere den driver man nsker at anvende. Bemrk dog at man kun har brug for at angive en driver hvis man nsker at anvende dvipdfm eller dvipdfmx. A graphicx detekterer selv om man anvender almindelig L T X, hvor den s antager E A at man nsker at anvende dvips-driveren. Og hvis man krer pdfL TEX, s antages automatisk brugen af pdftex-driveren. S under normale omstndigheder har man slet ikke brug for at tnke over hvilken driver der skal anvendes, det justeres automatisk.
Formaning 6.7.

draft

En anvendelig option til graphicx, er draft, som erstatter alle inkluderede gurer med en kasse i samme strrelse som den endelige gur. Denne aktiveres ogs automatisk nr man angiver draft som option til klassen.
6 Visse ldre brugere, samt gamle skabeloner anvender pakker s som epsfig eller psfig, begge pakker er

forldede, og man br i stedet gr over til at anvendes graphicx.

128
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

Syntaks for inkludering af ekstern grak

Hvis man inkluderer meget store gurer i sit dokument, dette vre sig (evt. eps-versioner af) fotos eller dataplots med en masse punkter, kan det vre en ide at anvende draft, thi idet dvips nu ikke skal inkludere billedet s tager det kortere tid og den resulterende l fr en betydeligt mindre strrelse.
Tip 6.8.

Selve inkluderingen af guren laves via:


\includegraphics[

options ]{ lnavn }

\includegraphics

\includegraphics[width=.5cm]{fig.2}

Eksempel 6.1

options er en kommasepareret liste af ngleord eller key=value-par:


angle = tal

rotering gennem grader mod uret. Omdrejningspunktet vil normalt vre nederste venstre hjrne af gurboksen, kan ndres via origin.
origin = x

hvor x kan vre c som giver rotation omkring centrum af guren. Se Carlisle (1999b) afsnit 4.2 eller Reckdahl (2005) afsnit 8.3 for ere muligheder til origin.
width = lngde

specicerer bredden af guren.


height = lngde

specicerer hjden (over baseline) af guren.


totalheight = lngde

specicerer den samlede hjde og dybde af guren. Mest anvendelig hvis man roterer guren og denne rotation ikke er delelig med 90 . Nr man angiver hjde eller bredden kan det vre en god ide at man angiver den i termer af tekstbredden eller -hjden eller nuvrende liniebredde. Dvs. via
Sidebemrkning 6.9.
\textwidth \textheight \linewidth
\textwidth \textheight \linewidth

S kunne man f.eks. anvende


\includegraphics[width=0.7\textwidth]{fig.2}

og dermed skalerer guren med dokumentet hvis man senere beslutter sig for at ndre marginerne.
scale = tal

Eksempel 6.2

skalr guren med faktoren tal p begge ledder.


keepaspectratio = boolean
true

eller false, at angive den uden nogen vrdi er det samme som true. Er bde width og height angivet kan guren komme til at se ret underlig ud.
[width=3cm,height=5mm]{fig.2}

\includegraphics%

Eksempel 6.3

129
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

Med keepaspectratio vil guren blive skaleret (med samme faktor p begge ledder) til den maksimale strrelse der kan vre uden at overskride den angivne hjre eller bredde.
Eksempel 6.4
\includegraphics[width=3cm, height=5mm,keepaspectratio]{fig.2}

clip = boolean

Klipper guren til BoundingBoxen. Anvendelig hvis dele af guren faktisk rager udenfor BoundingBoxen. Dette ses til tider ved plots fra visse typer programmer.
viewport = llftx llfty urtx urty

(nedre venstre (x, y) og verste hjre (x, y)) anvendes til at ndre den del man ser af guren. Koordinaterne angivet her er regnet ud fra nederste venstre hjrne af guren og man arbejder i tal angivet uden enhed (enheden er bp (big points), hvorom der glder at 72 bp er lig 1 in). Kan vre smart at kombinere med clip.
trim = left bottom right top

i samme enheder som ovenfor, her vil man nu skre denne mngde vk fra billedet. Dvs. trim=10 0 10 0 vil skre 10 bp vk fra billedet i venstre og hjre side. Br igen kombineres med clip, se eksempel 6.5. Bemrk at man kan godt anvende enheder i argumentet til trim.
Eksempel 6.5
\fbox{\includegraphics [height=2cm,trim=15 0 15 0,clip]{fig.1}} \qquad \fbox{\includegraphics [height=2cm]{fig.1}}

Det er vrd at bemrke at \includegraphics fortolker options fra venstre mod hjre, i.e. angle=90,width=2cm er ikke det samme som width=2cm,angle=90. I det frste tilflde bliver den resulterende bredde 2 cm, mens det i det andet bliver en resulterende hjde p 2 cm.
Sidebemrkning 6.10.
Eksempel 6.6
\includegraphics[width=3cm,angle=90]{fig.1} \qquad \includegraphics[angle=90,width=3cm]{fig.1}

6.1.3

Yderligere konguration vedrrende grak

En kildel ere outputformater

Det kan vre rart at kunne kre bde latex med dvips samt pdflatex p den samme kildel. Det gr vi blandt andet med denne bog, thi det er hurtigere at fremvise
130
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

METAPOST inklusion med pdatex

PostScript end pdf. Men har man bde en eps og en pdf version af den samme gur kan systemet jo ikke nde ud af det nr man angiver lendelsen som del af lnavnet. Lsning: Lad vre med at angive l endelsen! Ergo kan man i stedet for
\includegraphics{filnavn.eps}

anvende
\includegraphics{filnavn}

forudsat man s har bde en .eps og en .pdf udgave (eller et af de andre formater A som pdfL TEX understtter). Faktisk vil latex lede efter ler med endelsen .eps eller .ps mens pdflatex vil lede efter ler med endelsen .png, .pdf, .jpg eller .mps (i den rkkeflge). Der er dog ig. Reckdahl (2005) en mindre catch. Nr man fjerner endelsen (inklusiv .) m der i den resterende del af lnavnet ikke indg punktum. Dette kan dog omgs via pakken grffile som udvider den mde lnavne parses p. Den kan endda tillade lnavne med mellemrum, se Oberdiek (2009).7
Sidebemrkning 6.11.

grle

En anden catch er nr man anvender dvipdfm, s virker inklusionen uden endelse ikke helt efter hensigten, en type mangler. Det klares dog nemt via8 FiXme Note: br sikkert testes
Sidebemrkning 6.12.
\usepackage[dvipdfm]{graphicx} \DeclareGraphicsExtensions{.pdf,.jpg,.png,.eps}

Eksempel 6.7

METAPOST inklusion med pdatex Nr man arbejder med METAPOST vil de resulterende gurer ofte have lendelser af typen .1, .2, . . . Men pdflatex forventer jo endelsen .mps for METAPOST-ler. Man lser dette problem ved at forklare pdflatex at de lendelser den ikke genkender skal den formode er METAPOST.
\DeclareGraphicsRule{*}{mps}{*}{}
\DeclareGraphicsRule

Desvrre er verden ikke s simpel. For med latex kender driveren jo kun formatet eps (hvis noget er angivet med endelse vil den altid antage dette er en eps-l uden at kigge p indeholdet), og latex vil s brokke sig over at den ikke kender noget til mps. Lsningen er alt i alt at vi skal tjekke om vi skal lave pdf, og i s fald inkluderer vi linien ovenfor eller lade vi vrre. Anvend pakken ifpdf (direkte indbygget i memoir -klassen):
\usepackage{ifpdf} \ifpdf \DeclareGraphicsRule{*}{mps}{*}{} \fi

ifpdf
Eksempel 6.8

7 Det er dog bedre stil at undg mellemrum i lnavne, erstat dem med bindestreg eller underscore.

131
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

A A Kode til at tjekke for L TEX eller pdfL TEX

Dette tjek for pdf kan ogs anvendes til mange andre ting.


Eksempel 6.9

Farlig (ls teksten) 6.13.

via en konstruktion lignende


\ifx\pdfoutput\undefined % alm latex \else % pdflatex \fi

A Tidligere kunne man teste om man anvendte pdfL TEX

pdfetex

A Men da moderne L TEX distributioner faktisk anvender pdfetex som grundlggende engine (den kan faktisk give bde pdf- og dvi-output) s vil denne makro faktisk altid vre deneret. Den anbefalede metode er nu i stedet at anvende pakken ifpdf med flgende syntaks:
\usepackage{ifpdf}
slut preamble

Eksempel 6.10

\ifpdf % pdflatex \else % alm latex \fi

(syntaksen er alts omvendt i forhold til den gamle test). Husk at tjekke dine gamle dokumenter igennem og erstat konstruktionen fra Eksempel 6.9 med den fra Eksempel 6.10. A En af ulemperne med Eksempel 6.9 anvendt med moderne L TEX-installationer er A at man i visse tilflde kan komme ud for at L TEX pludselig giver pdf-output i stedet for det normalt dvi-output.

At hente gurer fra andre biblioteker

Hvis nu man f.eks. er statistiker9 og gerne vil inkludere en hulens masse sas-gurer, kan det vre en fordel at placere disse i et bibliotek for sig selv. Man kan s enten anvende relativ- eller fuld-sti nr man specicerer lnavnet, eller man kan forklare A L TEX hvor der skal ledes efter gurerne ud over nuvrende bibliotek (og resten af A L TEX-installationen).
\graphicspath

\graphicspath{

biblioteksstier med {} omkring }

Eksempel (her er det underbiblioteker af nuvrende)


Eksempel 6.11
\graphicspath{{figurer/}{plots/}}

P Windows skal man anvende den samme syntaks, dvs. man skal ikke anvende syntaksen c:\foo\bar p Windows, anvend syntaksen med de fremadrettede strstreger. Skal man nu fremvise fig.eps fra ./figurer kan man njes med \includegraphics{fig} uden at specicere hvilket bibliotek fig.eps bender sig i (alts uden at skulle angive \includegraphics{figurer/fig}). Man skal selvflgelig passe p med at have ere ler
9 No pun intended.

132
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

Inkludere dele af andre dokumenter

A med det samme navn liggende i de forskellige biblioteker, L TEX vil tage den frste den nder.

Anvendelsen af \graphicspath har ogs den helt store fordel at sender man lerne til en anden skribent, behver denne ikke lave samme biblioteksstruktur som man selv har, han/hun kan vlge at placere alle gurerne i samme bibliotek som .tex-len, og det vil stadigvk kompilere uden man skal ndre noget i .tex-len.
Sidebemrkning 6.14.

6.1.4

Inkludere dele af andre dokumenter

A Af tekniske rsager kan man med almindelig L TEX ikke inkludere eksterne dokumenter som fylder mere end en side. Men det er muligt at inkludere dele af eller hele pdfA dokumenter ved brug af pdfL TEX. Anvend pakken pdfpages og inkludr dokumentet med

pdfpages

\includepdf[

options ]{ pdf-l }

\includepdf

Eksempelvis vil
\includepdf[pages=-]{fil.pdf}

inkludere alle sider i fil.pdf, mens pages={2-5,23-34} vil inkludere et udvalg af sider. Der er mange andre options til at styre inkluderingen, bl.a. skalering af siderne, rotation, ere sider p en side, se Matthias (2004) for yderligere information. Preprint-serierne ved IMF er lavet via pdfpages for at lime den specielle forside sammen med selve artiklen. Thiele centrets preprintserier anvender i online versionen en trimmet version af et A3-omslag.
Sidebemrkning 6.15.
pdfpages

Eksempel 6.12

virker kun sammen med pdflatex! (i pdf-mode.)

Der ndes intet PostScript alternativ til pdfpages.


pdfpages kan rigtigt mange ting, s som at printe ere sider p en side. Men den kan ogs skrive skrive ting ovenp, anvende en speciel pagestyle p siderne samt tilfje ting til masterdokumentets indholdsfortegnelse. Det sidste kigger vi nrmere p i afsnittet 13.4.1 p side 323

Sidebemrkning 6.16.

En anden ting pdfpages ogs kan bruges til er hvis man har en masse enkelte PDF-ler som skal printes. Her er det oftest meget nemmere at samle alle lerne i en samlet PDF end det er f.eks. at sende 300 enkeltler til printeren (det er set fr). Et simpelt dokument til at ette PDF-ler med kan se ud som flger
Sidebemrkning 6.17.
\documentclass[a4paper]{article} \usepackage{pdfpages} \begin{document} \includepdf[pages=-]{fil1.pdf} \includepdf[pages=-]{fil2.pdf} \includepdf[pages=-]{fil3.pdf} \end{document}

Eksempel 6.13

133
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

6.2

Flydende objekter

oats

varioref

Indtil videre har er de gurer vi har indsat bare blevet placeret p netop det sted vi har sat dem ind. Hvis der ikke er plads til dem p siden bliver de bare yttet om p nste side, efterladende et stort hul i teksten. Dette er normalt ikke det vi nsker, desuden ville vi gerne kunne henvise til vore gurer samt eventuelt skrive en lille tilhrende tekst (caption). Til at lse dette anvender man begrebet oats! En oat er en boks (som hjest kan fylde en side!) hvori man har sin gur(e) eller tabel(ler) (samt en eventuel tilhrende tekst) og denne boks vil s blive placeret af A L TEX, p det sted den synes der er bedst plads boksen siges at yde nogenlunde frit. Fordelen ved dette er naturligvis, at man ikke fr huller i teksten, papiret bliver bedre udnyttet. Hvis den ydende gur ikke kan placeres i nrheden af hvor man har indsat den, vil guren blive placeret et andet sted. Teksten som kommer efter oatkoden som indsatte guren fortstter med det samme i stedet for at vente til guren er sat ind. Ulemperne er at man lige skal vnne sig til oat-konceptet, man skal lre at skrive sin tekst p en anden mde, dvs. ikke lngere skrive: P guren herover ses. . . , thi man ved ikke hvor guren indsttes. I stedet skal man henvise til guren via en krydsreference. Pakken varioref kan vre en stor hjlp, se afsnit 12.4, den kan bl.a. srge for at der automatisk kommer et sidetal med i referencen hvis det er ndvendigt (referencen herover til afsnit 12.4 er lavet via varioref). En anden hage er at det er ret nemt at komme til at sprre indsttelsen af gurerne, sledes at en stor oat kan blokere for en masse sm som er indsat efter (oats indsttes i teksten i den rkkeflge man nder dem i kildekoden). Dette betyder at man skal vre en smule omhyggelig med hvordan man kongurerer sit ydende objekt. Man skal desuden huske at en ydende gur eller tabel m ikke fylde mere end n side (vi kommer senere ind p hvad man gr med tabeller som fylder mere end n side). Alt dette skal vi se nrmere p i det flgende.
6.2.1 Syntaks

gure table

A Normalt har L TEX to environments som yder: gure og table.10 Eneste forskel p de to er, at anvender man en billedtekst (caption) til dem vil den ene skrive Figur og den anden Tabel (og de vil anvende to forskellige tllere til det eventuelle nummer). Vi vil anvende gure her, al syntaks og alle features fs ogs med table. Syntaks:

\begin{figure}[
\centering

loc ]

\centering

gurkode
\caption \label

\caption{ \label{

tekst } key }

\end{figure}

Vi starter med nogle bemrkninger til syntaksen 11


Sidebemrkning 6.18.

(i) For en god ordens skyld starter vi med at minde om at \label skal komme efter \caption og at det er \caption som giver guren sin nummering (hvis man nsker en).
Fortsttes p nste side
10 Man kan sagtens selv lave ere, men det forklarer vi ikke i denne bog. 11 FiXme Note: burde man ikke have et eksempel her?

134
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

Algoritmen bag placeringen af ydende objekter

(ii) Man kan selvflgelig ogs placere \caption over guren (ses sjldent), hvilket meet ofte anvendes ved tabeller. Her kan det blive aktuelt at skulle omdenere spacingen omkring caption, se afsnit 6.4.1 p side 143. (iii) Generelt glder at \caption kun kan anvendes indeni oats, og dog, \caption kan emuleres, se afsnit 6.4.1 p side 144. (iv) Der ndes ogs en -t udgave af de to oat environments. Denne variant anvendes nr man arbejder i een dokumentopstning med to sjler og vil s give en oat som kommer i toppen af papiret og som spnder over begge sjler. A (v) loc -argumentet anvendes for at hjlpe L TEX med at bestemme hvor guren skal placeres. Argumentet er enn tekststreng lavet ud fra tegnene !, h, t, b og p. Rkkeflgen af disse er ligegyldig. Angiver man ikke ikke noget valgfrit argument [ loc ] s vil tbp blive anvendt i de este klasser (bemrk at h mangler). Se Tip 6.19 for hvordan man ndrer dette og dermed sparer sig selv for en masse skriveri. Hvis man bliver trt af manuelt at skulle skrive [htbp] ved alle oats, s kan man faktisk gre det automatisk. Den flgende makro ndes allerede i memoir , vi anvender derfor \providecommand for kun at tilfje makroen hvis den ikke ndes i forvejen.
Tip 6.19.
\makeatletter \providecommand*{\setfloatlocations}[2]{\@namedef{fps@#1}{#2}} \makeatother \setfloatlocations{figure}{htbp} \setfloatlocations{table}{htbp}

Kodetip 6.1

S behver man kun angive argument til f.eks. gure-environmentet hvis man vil have noget andet end [htbp], f.eks. hvis man vil tvinge en oat til ikke at blive en helside oat. Det kan evt. anbefales at man helt fjerner b i strre dokumenter, da det ikke altid er lige pnt med oats nederst p siden. Man kan nde yderligere information vedrrende de strrelser som styrer placeringen af oats i Reckdahl (2005), afsnit 17. Da der er rigtigt mange som har problemer med at forst placeringen af ydende objekter, eller som har problemer med at de yder for langt vk, s vil vi g i lidt mere A teknisk detalje vedr. hvordan L TEX placerer ydende objekter.
6.2.2 Algoritmen bag placeringen af ydende objekter

Frst er der nogle interne parametre.


topnumber

(tller), antallet af oats som m vre verst p en side. Standard er 2 (memoir : 3).
bottomnumber

(tller), tilsvarende for oats i bunden af siden. Standard er 1 (memoir : 2).


totalnumer

(tller), totale antal ydende enheder som m vre p n side. Standard er 3 (memoir : 3).
135
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

\topfraction

makro hvis vrdi angiver hvor stor en brkdel af siden m maksimalt udfyldes af en oat placeret i toppen af siden. Standarden er 0.7 (memoir : 0.85). Makroen ndres med \renewcommand.
\bottomfraction

tilsvarende for oats placeret i bunden af siden. Standard er 0.3 (memoir : 0.5).
\textfraction

er en makro hvis vrdi angiver den minimale brkdel af en almindelig side der skal vre tekst. Standard er 0.2 (memoir : 0.1), dvs. i memoir -klassen skal der p en side med oats og tekst (ergo ikke en ren oat side) vre mindst 10% tekst.
\floatpagefraction

makro hvis vrdi angiver minimums brkdelen af en oatside som skal vre udfyldt. Standarden er 0.5 (memoir : 0.7).
\floatsep

elastiklngde12 som styrer afstanden mellem top oats placeret i toppen af siden. Standarden afhnger af dokumentklassen og kan ogs afhnge af fontstrrelsen. elastiklngde som angiver den vertikale afstand afsat mellem en oat omrdet i toppen af siden, eller bunden af siden, og den efterflgende/ovenstende tekst.

\textfloat

\intextfloatsep

elastiklngde som specicerer det mellemrum som automatisk indsttes over og under en oat som er placeret i teksten. Dette var nogle af de strrelser som styrer hvordan oats kan placeres p en given side. Lad og s beskrive algoritmen. Vi husker alts at vi har parametrene !, h, t, b samt p, og at rkkeflgen er ligegyldig. (a) Hvis ! er givet og vi har en af h, t, b s ser vi bort fra de tilhrende \...fraction vrdier i placeringen af det ydende objekt. Dvs. man kan have en bottom oat som er strre end det \bottomfraction tillader. Dette kan ses om en initialisering af algoritmen. (b) Hvis h er givet forsges at placere guren her (omkring). Hvis dette ikke lykkes og der ikke er givet andre tegn, skiftes fra h til t (til placering verst p siden) og placeringen af dette objekt vil nu kun blive betragtet som en top-oat, h bliver ikke betragtet igen. Derfor, nej, h, betyder ikke placr figuren lige her! Det gr !h heller ikke! (c) (d) (e) (f) Hvis t er givet, forsg at placere guren verst p denne side. Hvis b er givet, forsg at placere guren i bunden af denne side. Hvis p er givet forsges at placere guren p en oatside. Hvis guren endnu ikke er placeret gentages punkt ((c)) og ((d)) i begyndelsen af hver efterflgende side, efterfulgt af en gentagelse af ((e)) ved slutningen af hver efterflgende side.
12 Dvs. en lngde som har visse muligheder for at strkke sig eller trkke sig sammen. Afstanden over og

under afsnitsoverskrifter er et andet eksempel p elastiklngder.

136
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

Her til og ikke lngere

Se desuden afsnit 6.2.4 om hvordan man fr en oat til slet ikke at yde (hvilket dog sjldent anbefales!). Vi kan nu se hvorfor [h] nemt kan vre en ddssynd. Antag vores gur samt billedtekst er strre end \topfraction og at der ikke er plads til denne oat i teksten lige her. S laves oatens status om til t, men guren er for stor til at guren kan placeres i toppen, s algoritmen fejler (der er ikke ere muligheder) og udskyder placeringen til siden efter. Her fejler placeringen igen og sdan fortstter det. Dette objekt ligger nu og sprrer for alle efterflgende oats som ikke kan placeres fr denne er placeret. Figuren placeres nu frst nr den bliver tvunget til det, i.e. nr den f.eks. nr et nyt kapitel (som internt anvender \clearpage eller \cleardoublepage), mder en \FloatBarrier eller nr dokumentet er slut. Har man en oat som opfrer sig p denne mde br man naturligvis give den nogle ere muligheder for placering, dvs. ere bogstaver til loc -listen. Eller man kan forsge med at tilfje et !.
6.2.3 Her til og ikke lngere

A Da L TEX indstter gurerne i den rkkeflge de er blevet indsat i teksten kan man komme ud for forskellige problemer.

Hvis der er en stor gur som endnu ikke er blevet placeret sprrer denne for alle de efterflgende gurer som jo frst kan indsttes nr den store er placeret. Jf. foregende kan man jo sagtens komme ud for at en gur yder over i det nste afsnit, hvilket til tider ikke lige er det man nsker.
A Lsningen p dette problem er at man skal direkte forlange at L TEX dumper alle gurerne inden den gr videre.

\clearpage

srger for at alle gurerne indsttes her og nu inden vi gr videre. \clearpage vil s skifte til en ny side efter den sidste oat er blevet indsat.
\cleardoublepage

som \clearpage men her skifter vi til den nste hjre (ulige)side efter sidste oat.
\FloatBarrier

fra pakken placeins virker lige som \clearpage men den starter ikke en ny side efter sidste oat, hvilket kan vre en fordel.
\FloatBarrier

placeins

kan nemt anvendes sledes at oats ikke kan yde ind i andre afsnit, placr flgende i preamble:
\let\oldsection=\section % gemmer den gamle definition \renewcommand\section{\FloatBarrier\oldsection}

Eksempel 6.14

Faktisk kan dette desuden opns via en option til placeins-pakken. Makroen \cleardoublepage er normalt indbygget i \chapter-kommandoen. Et tilsvarende problem opstr idet at en oat kan optrde verst p den side hvorp guren er indsat. Dette kan vre et problem hvis man har en situation a la:
bla bla \section{Overskrift} tekst % float indsat her

Eksempel 6.15

137
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

after

Hvis denne afsnitsoverskrift kommer midt p siden og oaten kommer over den, s kunne det se ud som om guren hrer til i det forrige afsnit. Dette kan man undg ved at anvende pakken flafter som srger for at en oat altid indsttes i dokumentet efter det sted den blev indsat i koden. Brugen af flafter kan dog vre et lidt drastisk skridt. Hvis det kun er nogle f steder det er et problem, s kan man anvende
\suppressfloats[

\suppressfloats

loc ]

hvor loc er t eller b. Placeres denne p en side s betyder det at der p denne siden ikke m komme nogen oats i det angivne omrde. Helt uden argument betyder det at der slet ikke m komme nogen oats p den nuvrende side.
6.2.4 Ikke-ydende oats

oat

Det er en meget almindelig misforstelse at [h] skulle betyde her og kun her, vedrrende placeringen af guren. Som vi kan se af afsnit 6.2.1 er dette ikke tilfldet. Hvis man virkelig nsker at guren bare skal vre her, er ligeglad med huller i teksten og har brug for at kunne lave en caption, s kan man anvende pakken float, den giver endnu en mulighed til loc : [H], som ikke m blandes med de andre vrdier som kan anvendes i loc . Ergo vil
\begin{figure}[H] \centering % figur kode \caption{tekst} \label{key} \end{figure}

Eksempel 6.16

afterpage
\afterpage

give en oat som ikke yder. Der er dog risiko for at endnu ikke fastlagte oats fra tidligere sider s yder forbi og delgger nummereringen. Dette kan man dog lave lidt om p. Pakken afterpage giver makroen
\afterpage{

tekst/kode }

som indstter tekst/kode som det frste p nste side (heraf navnet). Ofte vil man jo bare have at guren skal komme i nrheden af hvor man har indsat guren. S kunne man jo anvende
Eksempel 6.17
\afterpage{% \FloatBarrier % dump alle ikke placerede floats \begin{figure}[H] ... \end{figure} }

\afterpage

kan desuden anvendes til at dumpe alle endnu ikke placerede oats efter den i gangvrende side. Dette har naturligvis den fordel, i sammenligning med \FloatBarrier eller \clearpage, at man fr fyldt den nuvrende side med tekst inden siderne med oats kommer. Teksten forttter s efter sidste oats. Dette opns via:
\afterpage{\clearpage}

Eksempel 6.18

138
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

Flere gurer p n gang

6.3

Flere gurer p n gang

Lad og kigge lidt p forskellige konstruktioner til at anvende mere end n gur ad gangen.
Flere gurer i samme oat

For det frste kan man uden problemer inkludere ere gurer i den samme oatkonstruktion samt have ere \captions.
Eksempel 6.19
\begin{figure}[htbp] \centering \includegraphics[width=1cm]{fig.2} \caption{En cirkel.} \vspace*{3mm} \includegraphics[width=1cm]{fig.3} \caption{En firkant.} \end{figure}

Figur 1: En cirkel.

Figur 2: En rkant.

De to gurer i Eksempel 6.19 yder nu sammen i den samme oat.


To gurer en billedtekst

Flere gurer ved siden af hinanden kan laves nemt via eksempel 6.20.
\begin{figure}[htbp] \centering \includegraphics[width=1cm]{fig.2} \qquad \includegraphics [width=1cm,height=2cm]{fig.3} \caption{En cirkel og en firkant.} \end{figure}

Eksempel 6.20

Figur 1: En cirkel og en rkant.

Her vil de to gurer begge st p baseline. Skulle man nske at de skulle aligne anderledes kan man forsge med minipage eller \parbox, se eksempel 6.21.
\begin{figure}[htbp] \centering \begin{minipage}[c]{0.47\textwidth} \centering \includegraphics[width=1cm]{fig.2} \end{minipage}% \hfill \begin{minipage}[c]{0.47\textwidth} \centering \includegraphics [width=1cm,height=2cm]{fig.3} \end{minipage} \caption{En cirkel og en firkant.} \end{figure}

minipage
\parbox

Eksempel 6.21

Figur 1: En cirkel og en rkant.

Argumentet [c] holder de to minipages vertikalt centrerede i forhold til hinanden. Andre muligheder er [t] (justering p frste basislinie) og [b] (justering p sidste basislinie).
139
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

To gurer ved siden af hinanden med hver deres billedtekst

nsker man i stedet at have to gurer ved siden af hinanden, med hver sin billedtekst:
Eksempel 6.22
\begin{figure}[htbp] \centering \begin{minipage}[c]{0.47\textwidth} \centering \includegraphics[width=1cm]{fig.2} \caption{En cirkel} \end{minipage}% \hfill \begin{minipage}[c]{0.47\textwidth} \centering \includegraphics[width=1cm]{fig.3} \caption{En firkant} \end{minipage} \end{figure}

Figur 1: En cirkel

Figur 2: En rkant

To gurer ved siden af hinanden justering af billedtekst placering

Er de to captions eller gurer ikke lige hje kan man blive ndt til at blive lidt kreativ med f.eks. brugen af minipage. Et eksempel kan ses i Eksempel 6.23. Ideen er at man anvender en 2 2 struktur. Frst to minipages til gurerne, her kan man selv bestemme hvordan den skal vertikalt justeres overfor hinanden. Dernst p den flgende linie igen to minipages, denne gang justeret sledes at den frste linie i begge kasser kommer til at st p samme linie.
Eksempel 6.23
\begin{figure}[htbp] \centering \begin{minipage}[b]{0.47\textwidth} \centering \includegraphics[width=1cm]{fig.2} \end{minipage}% \hfill \begin{minipage}[b]{0.47\textwidth} \centering \includegraphics[height=2cm]{fig.3} \end{minipage} \\ %herefter captions \begin{minipage}[t]{0.47\textwidth} \caption{En cirkel\newline og en linie mere} \label{cap1} \end{minipage}% \hfill \begin{minipage}[t]{0.47\textwidth} \caption{En firkant} \label{cap2} \end{minipage} \end{figure}

Figur 1: En cirkel og en linie mere

Figur 2: En rkant

Bemrk hvordan de to gurer str p samme basislinie og at frste linie i captions automatisk er justeret til samme baseline. Man skal isr notere sig brugen af [b] og [t]. Har man en smal gur og en stor caption kunne man jo placere captionen ved siden af guren via en konstruktion som i eksempel 6.22.
140
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

Tekst ved siden af gur justering i toppen

Tekst ved siden af gur justering i toppen

Til tider vil man gerne have en gur p den ene side og en lngere tekst til den p den anden. Det er nemt nok med to minipage-er hvis guren og teksten bare skal vre centreret vertikalt overfor hinanden. Hvis man nsker at frste linie af teksten skal passe med toppen af guren, s skal man vre mere snedig.
\usepackage{calc}% auto udregn \usepackage{graphicx}
slut preamble

Eksempel 6.24

\begin{minipage}[t]{0.45\linewidth} tekst tekst tekst tekst tekst tekst \end{minipage} \hfill \begin{minipage}[t]{0.45\linewidth} \raisebox% {\heightof{h}-\totalheight}% {\includegraphics[width=3cm]{fig.3}} \end{minipage}

tekst tekst tekst tekst tekst tekst

Forklaring: [t]-et betyder at frste basislinie i de to kasser skal st i samme hjde p siden. Men billedet str jo p den frste basislinie i den hjre kasse og rager en hel del lngere op. S man lfter frst kassen op s overkanten passe med hjden af et h og snker derfra guren i hele dens hjde.
6.4 Konguration af billedteksten (\caption)

Vi minder lige om: En \label skal altid komme efter \caption, ellers vil referencen blive forkert. Nu har vi sagt det og det bliver ikke gentaget.
Mantra.

Visse dokumentklasser (e.g. memoir eller KOMA-systemet) har deres egne kongurations muligheder vedrrende captions, se de respektive brugermanualer. Vi vil i stedet kigge lidt p pakken caption af Axel Sommerfeldt. Pakken er kompatibel med alle standardklasserne samt klasserne nvnt ovenfor og den tilbyder endnu ere kongurationsmuligheder. Man skal dog huske at anvender man caption-pakken kan man ikke lngere anvende de indbyggede kongurationsmuligheder i de omtalte klasser, deres \caption-implementation bliver overskrevet.
Sidebemrkning 6.20.

caption

Pakken er veldokumenteret og ganske velskrevet eksempel baseret, se Sommerfeldt (2005).


6.4.1 Brug af pakken caption

Pakken loades som normalt og kan tage forskellige options. Disse options kan ogs angives via
\captionsetup[

oat type ]{ options }

\captionsetup

tion

som desuden kan anvendes lokalt indeni eksempelvis gure-environmentet, fr \captil at lave en lokal ndring. oat type argumentet anvendes til at lave globale ndringer som kun glder for f.eks. figure, se afsnittet 6.4.1 p side 143.
141
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

Da brugermanualen til caption er s godt skrevet vil vi bare lse nogle smproblemer og i stedet henvise til manualen for yderligere oplysninger. Makroen \dlftxt indeholder bare noget tekst, s sparer vi en del plads.
ndring af billedtekstens font og fontstrrelse
Eksempel 6.25
\usepackage{caption} \captionsetup{font=small,labelfont=bf}
slut preamble

Figur af tekst
Figur 1: Dette er en lang og latterlig tekst, s kan man se at der sker noget.

\begin{figure}[htbp] \centering \fbox{Figur af tekst} \caption{\dlftxt} \end{figure}

Man kan ogs lave en hngende indentering samt styre fonten af label tekst og caption tekst for sig.
Eksempel 6.26
\usepackage{caption} \captionsetup{font=small, labelfont={it,bf},textfont=sf, format=hang}
slut preamble

Figur af tekst
Figur 1: Dette er en lang og latterlig tekst, s kan
man se at der sker noget.

\begin{figure}[htbp] \centering \fbox{Figur af tekst} \caption{\dlftxt} \end{figure}

ndring af separatortegn

Antag man har en gur som skal nummereres men der er ikke nogen captiontekst. Her vil man normalt f Figur 35:, hvilket ikke ser pnt ud. Vi vil gerne have noget andet i stedet. \caption er nu med caption-pakken blevet s snedig at den tester om der er en caption tekst og hvis der ikke er nogen skriver den ikke nogen separator.
Eksempel 6.27
\usepackage{caption}
slut preamble

\begin{figure}[htbp] \centering \fbox{Figur af tekst} \caption{} \end{figure}

Figur af tekst Figur 1

Bredden af caption

Hvis billedteksten er lang, vil den fylde hele den nuvrende liniebredde, hvilket kan se underligt ud hvis guren er meget smal. Man kan s i stedet, lokalt, specicere bredden af denne caption. Har desuden mulighed for at angive en margin, hvor billedteksten s fr en indrykning i begge sider svarende til den angivne strrelse.

142
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

Mellemrum fr og efter billedtekst

\usepackage{caption}
slut preamble

\begin{figure}[htbp] \centering \fbox{Smal} \captionsetup{width=4cm} \caption{\dlftxt} \end{figure}

Smal Figur 1: Dette er en lang og latterlig tekst, s kan man se at der sker noget.

Eksempel 6.28

Ved visse gurer er det rart at caption holder bredden af guren, oftest er dette pnt med gurer (af en vis strrelse) placeret ved siden af hinanden. Her har pakken threeparttable (som ellers er omtalt p side 176) et trick i rmet. Anvend measuredgure omkring guren og \caption:
Tip 6.21.
\usepackage{threeparttable}
slut preamble

threeparttable measuredgure
Eksempel 6.29

\begin{figure}[htbp] \centering \begin{measuredfigure} \rule{5cm}{2cm} \caption{Bla bla bla bla bla bla bla bla bla bla bla} \end{measuredfigure} \end{figure}

Figur 1: Bla bla bla bla bla bla bla bla bla bla bla

Mellemrum fr og efter billedtekst

\belowcaptionskip.

Der er to lngder som styrer spacingen over og under captions: \abovecaptionskip og Den frste er normalt 10 pt, mens den anden er 0 pt. Dette giver et problem nr man placerer captionen over materialet, se eksempel 6.30.
\begin{figure}[htbp] \centering \caption{Tekst over} \fbox{Figur tekst} \caption{Tekst under} \end{figure}

Figur 1: Tekst over Figur tekst Figur 2: Tekst under

Eksempel 6.30

Nu er det ikke almindeligt at man skriver captionen over gurer, men det ses ofte ved tabeller. Igen hedder lsningen pakken caption, enten via
\captionsetup[table]{position=top}
\captionsetup

hvorved vrdierne for de to beskrevne lngder bytter plads ved alle tabel-captions. Linien skal placeres i preamblen. Faktisk er dette en s almindelig ting at man ogs kan specicere det som at argument til selve pakken.
\usepackage[...,tableposition=top]{caption}

Forskellen kan nu ses via eksempel 6.31.

143
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

Eksempel 6.31

\usepackage[tableposition=top]{caption}
slut preamble

\begin{figure}[htbp]\centering\fbox{Figur tekst}\caption{Tekst under.} \end{figure} \noindent\hrule \begin{table}[htbp]\centering\caption{Tekst over.}\fbox{Tabel tekst}\end{table}

Figur tekst Figur 1: Tekst under. Tabel 1: Tekst over. Tabel tekst

En gur og en tabel i samme oat

Vi har tidligere set hvordan man kan stte to gurer ved siden af hinanden i samme oat, men hvad med en gur og en tabel? Der er to problemer i dette (i) for det frste kan man ikke placere en oat indeni en anden oat (ii) for det andet kan man heller ikke placere en oat inden i en minipage (eller lignende). Vi m alts gre noget andet snyde! Vi nsker at anvende gure og vil gerne have en gur samt en tabel som skal yde sammen. Anvender flgende makro til at emulere en tabelcaption:
\captionof

\captionof{

oat type }{ tekst }

Et eksempel kan ses herunder:


Eksempel 6.32
\usepackage{caption}
slut preamble

\begin{figure}[htbp]\centering \begin{minipage}[b]{0.45\textwidth} \centering\fbox{Figur tekst}\caption{Caption til figur.} \end{minipage} \hfill \begin{minipage}[b]{0.45\textwidth} \centering\fbox{Tabel tekst}\captionof{table}{Caption til tabel.} \end{minipage} \end{figure}

Figur tekst Figur 1: Caption til gur.

Tabel tekst Tabel 1: Caption til tabel.

\captionof

kan anvendes overalt til at lave captions med, og er alts ikke forbeholdt oats. Men den har alts stadigvk problemerne med at andre captions (af samme type) kan yde forbi.
144
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

Flere oats med samme nummer

Flere oats med samme nummer

Hvis man har mange sm gurer som hrer sammen, men de samlet set ikke kan vre p en side, kan man splitte dem op i to. Eksempel 6.35 viser hvordan man srger for at give hver lille gur et nummer og hvordan man kan bibeholde gurnummeret ved begge oats. Man kan s evt. kombinere det med \afterpage og \FloatBarrier s de to oat sider kommer p to efterflgende sider.
6.4.2 Undernummerering af gurer subg
subg

Pakken subfig er aseren til pakken subfigure af samme forfatter. Den er fuldt kompatibel med caption (anvender den endda internt). Pakken er igen meget veldokumenteret, specielt kan jeg godt lide at den viser eekten af de forskellige kongurations muligheder via en serie af gur-eksempler (ca. 8090 forskellige), s vi vil bare vise et par eksempler. Lseren m s selv konsultere manualen, Cochran (2004).13 De vigtigste kommandoer er: subcaption tekst incl. label ]{ gur eller tabel } \subref{ key } \subref*{ key }
\subfloat[

\subfloat \subref \subref*

Desuden er der nu en oat type benvnt ved subfigure som man kan kongurere via \captionsetup.
\usepackage{subfig} \usepackage{graphicx} \newcommand\inclfig[1]{% \includegraphics[width=20mm]{#1}}
slut preamble

Eksempel 6.33

\begin{figure}[htbp] \centering \subfloat[En cirkel.]{\inclfig{fig.2}} \qquad \subfloat[En firkant.]{\inclfig{fig.3}} \caption{Hoved caption} \end{figure}

(a) En cirkel.

(b) En rkant.

Figur 1: Hoved caption

Bredden af subcaptionen justerer sig efter bredden af guren. Bemrk at man her ikke har brug for minipage. \subref anvendes i forbindelse med referencer sledes at man kan f adgang til undernummereringen. Se eksempel 6.34.
\usepackage{subfig} \newcommand\dby{\fbox{\hspace{2cm}}}
slut preamble

Eksempel 6.34

\begin{figure}[htbp] \centering \subfloat[\label{sub}]{\dby} \caption{Hoved caption}\label{main} \end{figure} Referencer: \ref{main}, \ref{sub}, \subref{sub} og \subref*{sub}.

(a)

Figur 1: Hoved caption Referencer: 1, 1a, (a) og a.

13 Igen har memoir -klassen en lignende funktionalitet indbygget, men subfig-pakken er langt overlegen i

dens kongurations muligheder.

145
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

Makroerne \subref og \subref* kan alts f fat p subnummeret p guren. Bemrk placeringen af \label{sub}, den skal angives p denne mde ellers fungerer det ikke.
Flere oats under samme nummer

Har man mange gurer som skal samles under et, men fylder mere end en side, kan man dele dem ud over to oats:
Eksempel 6.35
\usepackage{subfig}
slut preamble

\begin{figure}[htbp] \centering \subfloat[]{\dby}\qquad\subfloat[]{\dby} \end{figure} \begin{figure}[htbp] \ContinuedFloat \centering \subfloat[]{\dby}\qquad\subfloat[]{\dby} \end{figure} \caption{De sidste figurer.} \caption{Nogle figurer.}

(a)

(b)

Figur 1: Nogle gurer.

(c)

(d)

Figur 1: De sidste gurer.

Se selv Cochran (2004) for ere eksempler p hvad man kan.


6.5 Andre grakrelaterede ting

Dette afsnit vil ikke indeholde s mange detaljer, da de este ting ligger uden for rammerne af denne bog, men vi ville bare lige nvne dem her.
At skrive tekst rundt om gurer

wrapg oatt

Har man nogle afsnit med tekst (rettere, uden fremhvet matematik og lister) s kan A man godt f L TEX til at wrappe rundt om en gur. Tag et kig p pakkerne wrapfig og floatflt, ls deres manualer p ctan. Det skal bemrkes at konstruktionerne er en smule srbare og det kan vre at man skal bruge et par bizarre tricks for at f konstruktionerne til at fungere, s anvend dette varsomt.
Rette p labels i EPS gurer

psfrag

Det er ofte et problem nr man laver grafer i et eksternt program at de labels som kommer p tegningen ikke kommer i samme font som den man anvender i sit dokument. Dette kan kses (hvis man anvender latex og dvips) med pakken psfrag. Ideen er at man i stedet for at anvende labels i sin graf derimod skriver ngleord, f.eks. p1, A l2 etc. Man fr s bagefter L T X til at erstatte disse med en anden tekst. Manualen E Grant et al. (1998) indeholder forskellige eksempler samt noget om begrnsninger og problemer ved metoden.
146
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

Baggrundsbilleder

Bemrk at det er ikke muligt at anvende psfrag p enhver eps-l.


Baggrundsbilleder

Man kan lgge gurer og andet ind i baggrunden af siden via konstruktioner stillet til rdighed af pakken eso-pic. Lseren bedes venligst lse Niepraschk (2002) for information om brugen af pakken. Det er ogs en meget god ide at kigge p eksemplerne som flger med pakken, se ctan. Men i korte trk vil den kunne placere en gur eller vilkrlig tekst et hvilket som helst sted enten p alle sider eller kun p den nuvrende. Et eksempel kunne vre
\usepackage{eso-pic} \usepackage{graphicx}
slut preamble

eso-pic

Eksempel 6.36

\AddToShipoutPicture*{% \put(0,0){% \includegraphics[width=\paperwidth,height=\paperheight]{figur} }

som indstter en gur som fylder hele siden p netop denne side. Hvis der ikke skal st mere end denne gur p denne side er det en god ide at huske at indstte en ~ A (tilde) p siden, ellers str der slet ikke noget og L TEX vil ikke skrive siden. Syntaksen som anvendes er den samme som ved picture, dvs.
\put(

x,y ){ kode }

hvor ( x,y ) er i enheder af \unitlength. Desuden har man i dette tilflde at (0,0) er nederste venstre hjrne af papiret. Pakken pdfpages (beskrevet i afsnit 6.1.4) anvender internt eso-pic.
Figurer i landscape

Se afsnit 7.8.2 for information om hvad man kan gre hvis man nsker en gur eller tabel i landscape.
6.6
6.6.1

Tips og tricks
At skrive ovenp inkluderede billeder

I mange tilflde kan det vre en ide at skrive ovenp et inkluderet billede, hvad enten det er nogle copyright inforamtioner eller vhad det nu er. En standard pakke til dette er pakken overpic. Den bruger en lidt speciel syntaks: options ]{ billede } \put( koordinater ){ tekst } ...
\begin{overpic}[ \end{overpic}

overpic

Hvor options er options til den indbyggede \includegraphics og hvor koordinater er p formen 35,75, alts to koordinater uden enhed. Koordinatsystemet starter i nederste venstre hjrne af billedet.14

14 Pakken picture udvider \put syntaksen, sledes at koordinaterne kan angives med enhed.

147
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

Eksempel 6.37

% overpic loader automatisk graphicx \usepackage{overpic}


slut preamble

\begin{overpic}{fig.2} \put(18,40){\textbf{En cirkel}} \end{overpic}

En cirkel

Det er ogs nrliggende at forsge sig med TiKz (se afsnit 6.6.5) til at skrive ovenp et billede. Flgende eksempel skyldes Martin Heller.
Eksempel 6.38
\usepackage{tikz,graphicx}
slut preamble

\begin{tikzpicture} % indst billedet i en node % nederste venstre i (0,0) \node[inner sep=0pt,anchor=south west] (img) at (0,0) {\includegraphics{fig.2}}; \node (rand) at (img.center) {rand}; % tegn efter absolutte koordinater \draw[->,red] (rand) -- (0.4,0.4); \end{tikzpicture}

rand

6.6.2

Inklusion af scannede sider

P side 147 beskrev vi hvordan man kunne lave baggrundsbilleder. Dette kan naturligvis ogs anvendes til andre ting og sager. F.eks. kan man anvende eso-pic pakken til at inkludere scannede sider med. Antag f.eks. at man er ved at lave en ansgning, og at denne skal aeveres som en PDF. I denne ansgning skal man have sammenhftet forskellige ler. Hvis vi har disse ler som PDF kan vi anvende pdfpages-pakken til at inkludere disse med. Men man f ofte ogs brug for at inkludere indscannede A4 sider, f.eks. udtalelser med underskrift, og det kan sagtens vre at man ikke lige kan f det scannede materiale ud som PDF. Her kan vi igen bruge eso-pic. Lad os antage at vi har fet nogle sider i PNG-format (dvs. vi skal overstte via pdflatex). S vil flgende lille makro sikkert vre en god hjlp.
Kodetip 6.2
\newcommand\insertpng[1]{% \AddToShipoutPicture*{% \put(0,0){\includegraphics[width=\paperwidth,height=\paperheight]{#1}}% }% ~ \newpage }

Det vigtige er her at bemrke ~, uden den ville vi slet ikke f nogen sider inkluderet. A Dette skyldes at baggrundsbilledet i TEX-mssig forstand ikke fylder noget, og L TEX ser derfor ingen grund til at udskrive denne side til outputlen. Den lille tilde gr at A der faktisk str noget (godt nok usynligt) og L TEX vil gerne skrive noget til outputtet. En ansgning kan s samles via:
Eksempel 6.39
\insertpng{fil-1.png} \insertpng{fil-2.png} \insertpng{fil-3.png} \includepdf[pages=-]{lang-fil.pdf} \insertpng{slut_underskrifter.png}

148
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

Genstridige EPS-ler

Via rkkeflgen af \put-kommandoerne i \AddToShipoutPikan man f billeder eller tekst lagt ovenp hinanden. Jeg anvender f.eks. dette til Thiele Centrets preprints, her er grakken et stort billede hvor jeg s skriver noget tekst oven p via eso-pic.
Sidebemrkning 6.22.
cture

6.6.3

Genstridige EPS-ler

Det er ikke alle programmer som er lige gode til at lave EPS-ler. S nogle gange bliver man ndt til at hjlpe lidt til bagefter. En ting man kan prve er at kre len gennem programmet eps2eps som har flgende syntaks
eps2eps indfil udfil

eps2eps

Programmet forsger at rydde op i den problematiske EPS-l. Det fungerer nt, isr hvis man har problemer med at f printet en l. Dog har det den ulempe at programmet bevarer ikke fonte, tegnene bliver til bitmaps, i de este tilflde kan man ikke se forskel, men alligevel. . . Jeg er fornyligt blevet bekendt med et lille vrktj som jeg godt ville gre lidt reklame for: epstool. Det ndes bde til Windows og Linux, og har hjemmeside her: http://pages.cs.wisc.edu/~ghost/gsview/epstool.htm, dog kan det anbefales at hente det fra ctan: http://www.ctan.org/tex-archive/support/ghostscript/ghostgum/, da den er nemmere at komme i kontakt med. Programmet epstool kan annvendes til at rydde op i eps-ler, f.eks. kse den skaldte BoundingBox, det kan fjerne previews fra eps-ler lavet i Adobe Illustrator samt andre sjove ting. De to nvnte ting er ret centrale for os. BoundingBoxen er en tekststreng indeni eps-len som beskriver strrelsen af guren. Faktisk er dette det eneste TEX lser fra en eps-l nr den skal give plads til den. Linien kan se ud som flger:
Sidebemrkning 6.23.
%%BoundingBox: 285 405 323 520

epstool

hvilket skal fortolkes som (x, y) koordinaterne til hhv. nederste venstre og verste hjre hjrne af boksen. BoundingBoxen br som udgangspunkt vre det mindste rektangel som omkranser indholdet af billedet (evt. med en lille smule luft omkring). Den fejl man oftest ser ved eps-ler er at BoundingBoxen er forkert. Det kan testes ved at stte en \fbox{...} (i.e. en boks) omkring billedet. Den mest almindelige fejl er at der er alt for meget luft omkring billedet. BoundingBoxen br lige njagtigt omkranse selve indholdet af billedet. Mange kendte programmer til Windows som selv siger at de kan gemme som eps, laver ofte en forkert BoundingBox. Et andet eksempel er programpakken R, den er notorisk kendt for at lave BoundingBoxe som er alt for store.15 Nuvel, dette kan epstool kse via
epstool --copy --bbox indfil.eps udfil.eps

15 Ved R ser det ud som om at BoundingBoxen har en minimums strrelse som er ligeglad hvor lille selve

billedet faktisk er.

149
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

epstopdf

Et andet problem man nogle gange ser er eps-ler med et skaldt binrt preview.16 Det er en binr l/billede som ligger indlejret indeni selve eps-len. Dette kan f epstopdf til at ngte at overstte len til PDF. Igen epstool to the rescue:
epstool -p indfil.eps udfil.eps

Desvrre kan de to ikke kombineres. Se manualen til epstool for yderligere features.
6.6.4
A Generering af EPS-ler eller croppede PDF-ler via L TEX

A Har man lavet noget i L TEX som man gerne vil have lavet om til en EPS-l som s kan inkluderes i et andet dokument s skal man bare forberede en side hvor der kun str det man nsker p sin EPS-l (husk at fjerne sidetallet, f.eks. via \thispagestyle{empty}). Her efter skal man anvende et par ekstra options til dvips:

dvips -E -o fil.eps fil.dvi

pdfcrop

Det er ikke altid BoundingBoxen bliver korrekt med dvips, nr man skal generere eps-ler, specielt hvis man anvender rotationseekter eller andre specielle PostScript ting. Men s har vi jo epstool. Skulle man p den anden side arbejde rent i PDF, s kan man gre det samme som ovenfor og overstte dokumentet med pdflatex og s croppe PDF-len via pdfcrop.
pdfcrop indfil.pdf udfil.pdf

Dette giver en version af indfil.pdf hvor de overskydende marginer er fjernet (dette er mere eller mindre hvad at croppe betyder).
6.6.5
A Generering af grak til brug i L TEX

Her er der forskellige muligheder man kan kigge p. Bde hvor man laver guren i et eksternt program og s senere importerer/inkluderer det, eller hvor man faktisk A tegner direkte inden i L TEX. Vi vil ikke g i nogen som helst detaljer, bare give lseren nogle ideer til hvad han/hun kan prve. PGF/TiKz Syntaksen minder en del om syntaksen anvendt ved METAPOST. Kan kres Da PGF/tikz kan anvendes bde med latex (skal gennem dvips) og med pdflatex s er dette system meget anbefalelsesvrdigt. Se Tantau (2007) for yderligere information. Via dette link http://www.fauskes.net/pgftikzexamples/all/ kan man nde en masse TikZ/PGF eksempler.17 Andre eksempler kan ndes via http://www.texample.net/tikz/. Faktisk ndes der redskaber til at konvertere en given EPS-l til PGF-formatet, se http://sourceforge.net/projects/eps2pgf/. Programmet gnuplot skulle ogs kunne eksportere til PGF. Manualen til TiKz/PGF er meget omfattende s der er ikke plads til at beskrive systemet her, men vi vil give et lille eksempel p hvordan man kan tegne en form for vgtet graf, ofte anvendt i operations-analyse.
16 Oftest set nr man har lavet tegninger i Adobe Illustrator 17 Tak til Martin Heller for dette link.

gnuplot

150
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

A Generering af grak til brug i L TEX

Hvis nogen skulle have lyst til at skrive en lidt lngere TiKz intro til denne bog, s de meget gerne kontakte undertegende.
\usepackage{tikz}
slut preamble

Eksempel 6.40

\tikzstyle{knude}=[circle,draw=blue!50,fill=blue!20,thick] \begin{tikzpicture}[shorten >=2pt] \node (a_1) at (0,0) [knude] {$a_1$}; \node (a_2) at (1,2) [knude] {$a_2$}; \node (a_3) at (2.5,1) [knude] {$a_3$}; \node (a_4) at (4,2) \node (a_5) at (5,0) \node (a_6) at (1.5,-1.25) \node (a_7) at (4,-1.25) [knude] {$a_4$}; [knude] {$a_5$}; [knude] {$a_6$}; [knude] {$a_7$};

\draw[->] (a_1) -- node [auto,swap] {5} (a_2); _2) -- node [auto] {3} (a_4) -- node [auto] {$-2$} (a_5); \draw[->] (a \draw[->] (a_2) -- node [auto,swap] {12} (a_3); \draw[->] (a_3) -- node [auto,swap] {0} (a_4); \draw[->] (a_1) -- node [auto] {$x$} (a_6) -(a_5); (a_7) -\draw[->,red,thick] (a_1) to \draw[->,dashed] \end{tikzpicture} [out=0,in=-100] (a_5); (a_4);

a2 12 5 a1 x a6

3 a3 0

a4 2 a5 a7

METAPOST A Er et grask programmeringssprog. Man kan sige at det minder lidt om L TEX, man fr bare simpel PostScript ud i stedet. Jeg laver generelt alle mine tegninger i METAPOST. Eneste ulempe ved METAPOST er at fejlmeddelelserne fra programmet, kan vre meget svre at debugge. Asymptote Et specielt grask programmeringssprog som minder om METAPOST, men i stedet lgger sig mere op af C++ syntaksen. PSTRICKS A En samling af pakker til L TEX som gr det muligt, via PostScript, at kunne tegne mange forskellige typer gurer og grafer. Da man skal over PostScript (dvs. dvips) for at det virker, vil det meste naturligvis ikke fungere hvis man overstter med pdflatex. Der er dog visse ting man kan gr for at kunne anvende sin PSTRICKS under PDF, se http://tug.org/PSTricks/main.cgi/ for mere information. Der ndes en JAVA frontend som kan anvendes til at lave tegninger med PSTRICKS, se http://latexdraw.sourceforge.net/. gnuplot Et skummelt meget avanceret tegne/plotte system. Kan outputte i mange sjove formater.
151
Kapitlet er sidst opdateret 2010/08/16 15:12 (revision 712)

6. Om grak, ydende objekter og billedtekst

diverse Der ndes diverse andre programmer man kan anvende til at lave tegninger med. Eneste krav er at den kan eksportere/gemme i EPS eller PDF format. Navne til listen modtages gerne.
A I anden halvdel af 2007 udkom den udgave af The L TEX Graphics Companion udkommet, se Goossens et al. (2007). Den beskriver grundlgA gende brugen af grak i L TEX, samt forklarer ret udfrligt om f.eks. METAPOST og PSTRICKS. Bogen ser dog helt bort fra TiKz/PGF, primrt fordi TiKz/PGF er kommet til i den sidste del af 0-erne.

Sidebemrkning 6.24.

Hvis vi skulle anbefale noget man skulle tage et nrmere kig p, s bliver det TiKz/PGF, det ser ud til at udvikle sig til noget meget meget kraftfuldt. Nrmere behandling af TiKz/PGF ligger dog uden for rammerne af denne bog. Se i stedet Tantau (2007) samt http://www.texample.net/tikz/examples/. Mange Linux og MAC baserede programmer har desuden muligheden for at eksportere/printe gurer/tegninger til EPS eller PDF format. Denne funktionalitet mangler ofte p Windows. Visse programmer siger de kan eksportere/printe til EPS, men det viser sig ofte at vre en sandhed med modikationer. P Windows kan man i stedet installere en EPS printerdriver. Dvs. det er en virtuel printer hvor man i stedet for at sende noget til en fysiskprinter, s fr man i stedet en EPS-l ud. Med en sdan driver burde der ikke vre de store problemer med den genererede EPS-l. Via http://www.adobe.com/support/downloads/product.jsp? product=44&platform=Windows (eller googl efter postscript printer driver adobe) skulle man kunne downloade en PostScript printerdriver til Windows. Denne installerer man, og s angiver man i engenskaber at man nsker en eps-l (eller noget i den retning). Ved hjlp af en kvalitets EPS-driver i Windows kan man sagtens lave gurer i f.eks. A Excel og s inkludere dem i sit L TEX dokument.

152

Syvende Kapitel

Om tabeller
Indenfor mange omrder er (specielt data-) tabeller vigtige dele af det at skrive et vrk, men desvrre ser man ofte at forfattere bare smider dette hmningslst sammen uden at tnke p hvordan data prsenteres bedst overfor lseren det er godt nok for mig nej, det er det bestemt ikke. . . ! Typogra-eksperten Robert Bringhurst skriver i Bringhurst (2002) side 70 at:
Tables are notoriously time-consuming to typeset, but the problems posed are often editorial as much as typographic. If the table is not planned in a readable form to begin with, the typographer can render it readable only by rewriting or redesigning it from scratch.

Konklusionen er alts at man som forfatter br bruge lidt mere tid p at stte sine tabeller op p en pn og lselig mde, sledes at de er nemmere at forst eller fortolke for lseren. Den gode nyhed er s at det faktisk ikke er s svrt endda, man skal bare kende de rigtige redskaber.
A Dette kapitel handler benlyst om tabeller i L TEX. Vi vil starte med en introduktion til hvordan man laver tabeller s alle har styr p syntaksen. Herefter vil vi se p forskellige redskaber som enten kan noget smart til specielle situationer eller som generelt kan hjlpe med at lave otte tabeller. Vi starter dog med nogle forslag til hvordan man br opbygge datatabeller. I kapitlet vil vi koncentrere os om formateringen af datatabeller og lignende. Der er naturligvis ogs andre typer af tabeller, men da de ikke er lige s almindelige for vores publikum har vi valgt at behandlingen af disse ligger uden for rammerne af bogen.

7.1

Guidelines vedr. opbygning af en (data)tabel

Det flgende er en serie gode rd vedr. opbygningen af en god og lsbar (data)tabel, inspiration er hentet fra Ritter (2002), Chicago (2003) og Bringhurst (2002). Vr sikker p at tabellen er relevant at inkludere her Hvis tabellen er af en mere supplerende natur, ville det sikkert vre bedre at placere den i et appendix. Datatabeller skal bruges til at sammenligne data s overvej hvordan dette gres bedst Det er ikke altid bedst bare at klaske data sammen i en stor prevlling. Overvej hvad det er du gerne vil sige med denne tabel. Ville lseren f mere ud af data hvis man i stedet lavede et form for plot? Nummerr alle tabeller Dette er bde for egen skyld, men ogs for lseren som nemmere kan henvise til en tabel vedkommende er i tvivl om.
153
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

Placr caption (og dermed nummerering) over tabellen Dette er der to rsager til: (1) Har man noter efter tabellen drukner disse sammen med caption, samt (2) ved at placere caption fr tabellen gr det ikke noget at tabellen fylder ere sider. Hold captionteksten kort og i generelle termer Caption bruges til at identicere tabellen, se den som en form for overskrift. Den skal derfor ikke indeholde nogen fortolkning af data, dette hrer i stedet hjemme i teksten. Hvis der er brug for en speciel forklaring til noget af data, s lg det i en tabelnote. Hvis alle data i tabellen bruger samme enhed kan dette nvnes som en del af caption (ofte i en parentes). Hold sjleoverskrifterne s korte som mulige Anvend evt. en forkortelse og forklar eller uddyb denne i en tabelnote. Hvis data i sjlen har samme enhed nvnes denne i sjleoverskriften, evt. p en helt ny linie (gr det i s fald for alle datasjlerne). Rkkeoverskrifterne br holdes korte og prcise Hvis der er behov for det kan man skrive dem over ere linier, eller give en lngere forklaring i en tabelnote. Hvis rkken har en flles enhed nvnes den her (i parentes). Srg ogs for at de enkelte overskrifter harmonerer med hinanden, dvs. undlad at vre meget specik et sted og mere generel et andet sted i samme tabel. Hold brug af streger p et minimum Lodrette og dobbelte linier anvendes ikke mere. En tabel som er ordentligt balanceret med luft/afstand er meget nemmere at overskue. Isr lodrette linier forstyrrer mere end de hjlper p forstelsen. Hold ogs de vandrette streger p et niveau hvor man kun har de streger som er relevante for forstelsen af data. Ofte vil en linie fr og efter tabellen samt en linie under sjleoverskrifterne vre nok. Underopdeling af tabellen kan foretages med luft eller linier som ikke dkker over frste sjle (den med rkkeoverskrifterne). Brug tabelnoter til at give ekstra informationer vedr. tabellen Dette vre sig (i) angivelse af kilde, hvis man ikke selv har lavet data, (ii) generelle noter til tabellen samt (iii) specikke noter til enkelte dele af data, bemrk at disse noter skal nummereres p en mde s de ikke forveksles med fodnoter. Brug gerne disse noter til at give en nrmere forklaring til noget af data hvis dette er specielt relevant. Juster data i cellerne sledes at det er nemme at sammenligne Dette vil for det meste betyde at indeholder tallene i en sjle et decimalkomma, da justeres sjlen s disse kommer over hinanden. Alternativt kan data hjrejusteres hvis data er meget blandet. (Venstrejustering ses sjldent) Vedr. dataformatering er der ere ting som vi vil forvente af en formateringslsning: (i) Indgangene skal vre i matematik-mode, da der nemt kan forekomme negative tal, eller matematiske konstruktioner (s som 106 ) (ii) Vi skal kunne stille tallene op sledes at f.eks. decimaltegn kommer under hinanden.
154
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

En lserundersgelse

(iii) Afrunding samt omformatering input (f.eks. 3.4e-7 til 3.4 107 ) (iv) Det ville vre rart hvis man nemt kan lave overskrifter (som jo ikke skal sttes i matematik-mode). I den forbindelse har vi yderligere et par ekstra anbefalinger (a) Hvis tallene er sammenlignelige med decimaler, s juster data sledes at decimalerne str over hinanden. (b) Hvis data ikke indeholder decimaler, eller hvis de slet ikke er sammenlignelige anbefales det at man hjrejusterer data. Alternativt kan data centreres, men man br i s fald lave en sammenligning frst. (c) Hvis data i sjlen har decimaler og er nsten-sammenlignelig, dvs. det er kun nogle f celler i sjlen som ikke kan sammenlignes med resten, s kan man justere p decimalen, og s f.eks. centrere de f celler som ligger udenfor.

7.2

En lserundersgelse

Vi lgger ud med en lille opinionsmling. I tabel 7.1 og tabel 7.2 nder man to tabeller som prsenterer samme datast. Den ene tabel er lavet som de este nybegyndere ville lave tabellen, mens den anden tabel er (forsgt) sat op sledes at layouttet fremstr mere professionelt. Sprgsmlet er nu hvilken en af de to tabeller er mest behageligt at lse?

Tabel 7.1: Almindelig datatabel som de este begyndere ville starte med at skrive den.

i j 3 4 3 1 3 2 4 1

xi xj 35.23 58.77 91.15 23.54

Nedre 95% kondens grnse 11.63 35.17 67.56 0.06

vre 95% kondens grnse 58.83 82.37 114.75 47.14

Signikant Ja Ja Ja Nej

Tabel 7.2: Forsg p at lave en professionel udgave af Tabel 7.1.

3 4 3 1 3 2 4 1

i j

xi xj 35.23 58.77 91.15 23.54

Nedre 95%* vre 95%* Signikant 11.63 35.17 67.56 0.06 58.83 82.37 114.75 47.14 Ja Ja Ja Nej

* Procentsatsen henviser til kondensgrnsen.

De anvendte data er venligst udlnt af Jrgen Granfeldt, opstningen er dog ndret en smule. Der er ere problemer med at prsentere data som i Tabel 7.1: (1) Lodrette streger hrer slet ikke hjemme i tabeller! Det har vist sig at de faktisk nedstter lsehastigheden (thi jnene gerne vil flge stregen nedad og derfor skal vi koncentrere os mere for at forst data). Desuden fr de data til at ligne et
155
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

Excel-ark,

og det er det ikke, det er en visuelt fremlggelse af data, en datatabel, dette er noget helt andet end et simpelt Excel ark.

(2) De vandrette linierne kommer alt for tt p data i de enkelte celler, og der er for mange af dem. (3) Data vil i dette tilflde vre mere sammenlignelig hvis decimaltegnet stod over hinanden i sjlerne. P grund af kommentarerne (1) og (2) vil vi slet ikke forklare hvordan man laver A hhv. lodrette linier samt L TEXs almindelige vandrette linier i tabeller. Vi vil i stedet koncentrere os om at forklare hvordan man laver konstruktioner som vi ser i Tabel 7.2.
7.3 Tabelsyntaks

A I L TEX opskriver vi tabellens data rkkevis, cellerne adskilles med tegnet & og rkker afsluttes med \\ (som her skal tolkes start en ny rkke). Alt dette skrives indeni et specielt indrettet environment. Nogle vil sikkert genkende syntaksen, faktisk er de este er-linie matematikenvironments bygget omkring matematiske tabelkonstruktioner. Her er et hurtigt eksempel, hvor vi har en tabel med tre sjler, med hver sin justering:
Eksempel 7.1
\begin{tabular}{rcl} aaa & bbb & ccc\\ a & b & c \\ \end{tabular}

aaa a

bbb b

ccc c

tabular table

Det mest almindelige tabel-environment er tabular. Nogle ville mske have gttet p table, men dette environment anvendes i stedet til at pakke omkring tabellen for at lade den yde omkring, s samme mde som vi tidligere har beskrevet environmentet gure for gurer. Environmentet tabular tager et obligatorisk argument som anvendes til at specicere hvor mange sjler den skal forvente (samt evt. information om hvordan de skal formateres). Det tager ogs et positionsargument, som vi dog ikke skal kommentere her, det er kun relevant hvis man f.eks. har to tabeller p samme linie. Den almindelige syntaks for en tabel bliver alts:1
\begin{tabular}[

tabular

pos ]{ tabelpreamble }

evt. en linie celle 1 & celle 2 & . . . & celle n


\\

evt. en linie ...


\end{tabular}

I Eksempel 7.1 s vi de tre mest fundamentaler sjle typer. Hvis der er plads til det, er det en god ide skrive &-erne over hinanden i kildekoden. Det giver et godt overblik. Nogle editorer kan hjlpe med dette. En anden x ting, er at man i modstning til i matematik, gerne m have blanke linier mellem rkkerne i tabeller. Dette kan igen hjlpe med overblikket.
Tip 7.1.

1 Som vi tidligere har foreslet vedr. matematik, s er det en fordel at skrive \\ p linier for sig selv.

156
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Flydende tabel

7.3.1

Flydende tabel

For at f en almindelig tabel (vi skal senere se nogle ikke helt almindelige konstruktioner) til at yde, skal vi som ved gurer pakke et environment uden om. Syntaksen er njagtigt den samme som ved gurer.
\begin{table}[ \centering \caption{

loc ]

tekst } selve tabellen

\end{table}

Hvor vi naturligvis har placeret caption over tabellen som anbefalet i afsnit 7.1. Man bedes bemrke at luften under \caption nok bliver for lille, nr man placerer \caption over tabellen. Dette kser man nemt via caption-pakken, se afsnittet 6.4.1 p side 143.
7.3.2 Angivelse af sjlerne

A For at L TEX kan trykke tabellen pnt, skal den vide hvor mange sjler der maksimalt kan forekomme.2 Opskriver man ere sjler i en rkke end tabellen er kongureret til fr man fejlen:
Extra alignment tab has been changed to \cr

Angivelsen af sjlerne skriver man i det obligatoriske argument til det omkringliggende environment.3 Lad os kalde dette for tabellens preamble. Tabel-preamblen er centreret omkring specikationen af de enkelte sjler, dette kommer vi til om lidt. Vi kan desuden anvende preamblen til at lgge ekstra luft mellem sjlerne (hvilket tit er en god ide) eller lave om p kongurationen af sjlen (f.eks. ved at gre en hel sjle kursiv i t hug i stedet for at gre det cellevist). Her flger de mest almindelige kongurationer man kan anvende i sjle preamble argumentet til tabular. Vi starter med dem som altid er tilstede, og lister bagefter de ekstra muligheder vi fr med array pakken (eller via memoir -klassen). For en god ordens skyld skal vi nvne at lodrette streger ogs normalt speciceres i preamblen, men af pdagogiske rsager vil vi slet ikke forklare dette.4 Vi skal senere komme lidt ind p andre pakker som giver ekstra features til tabel-preamblen. Frst starter vi med de specikationer som ikke krver ekstra pakker. Specicerer n venstrejusteret sjle, uden automatisk orddeling. Sjlens bredde justeres automtisk til bredden af bredeste celle. c Specicerer n centreret sjle, uden automatisk orddeling. Samme fortolkning af bredden. r Specicerer n hjrejusteret sjle, uden automatisk orddeling. Samme fortolkning af bredden. p{ bredde } Specicerer en venstrejusteret sjle med den angivne bredde og automatisk orddeling. Man kan ndre justeringen inden i sjlen med en konstruktion som nvnes
l
2 Man behver ikke udfylde alle sjler i slutningen af en rkke. 3 Nogle tabel-environments kan have ere obligatoriske argumenter, s her skal man vre specielt opmrk-

som p syntaksen.
4 Nr vi alligevel anbefaler at man ikke anvender lodrette streger, s hvorfor forklare hvordan man gr.

157
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

senere p listen. Et eventuelt tvunget linieskift skal ske med \newline. Den lodrette placering justeres efter frste linie i cellen. @{ noget } Indstter noget i stedet for mellemrummet mellem to sjler. F.eks. kan @{} fjerne mellemrummet fr en sjle og @{\qquad} kan forge afstanden. { antal }{ kode } * Gentager kode antal gange. F.eks. er *{3}{lr} lig med lrlrlr. S hvis man har mange sjler efter hinanden med samme specikation, s kan dette lette notationen. Er man rigtig smart kan man denere en genvej som f.eks. angiver hele preamblen. Se Eksempel 7.6. Flgende specikationer krver array-pakken (eller memoir -klassen).
m{

bredde } Specicerer n venstrejusteret sjle med automatisk orddeling. I stedet for at justere efter den frste linie, centreres indholdet nu vertikalt i stedet. bredde } Specicerer n venstrejusteret sjle med automatisk orddeling. Svarer til p{ bredde }, her justeres dog efter sidste linie. kode } Anvendes fr f.eks. l, c, r, p, m, b. Den indstter s kode i starten af hver celle i sjlen. Man kan tilsidestte indsttelsen af kode i en specik celle via \multicolumn, se afsnit 7.3.3. F.eks. vil >{\itshape} l lave en venstrejusteret sjle, hvor alle cellerne sttes med kursiv tekst. kode } Anvendes efter l, c, r, p, m, b. Indstter s kode i slutningen af hver celle i denne sjle. noget } Indstter noget mellem sjlerne. Svarer til @{ noget }, men her tilfjer man til bredden mellem sjlerne i stedet for at starte helt fra nul.

b{

>{

<{

!{

Sidebemrkning 7.2.

Et par bemrkninger: (a) Husk at >{ kode } og <{ kode } udfres hver for sig. En almindelig fejl er at forsge med >{ \textit{ } l <{ } }, alts forsge at anvende \textit{ ... } omkring hver indgang, hvilket fejler fordi de krllede parenteser ikke er velbalancerede. I dette tilflde ville >{\itshape} vret nok.

\arraybackslash

(b) Cellerne som er angivet med bredde, f.eks. med p{ bredde }, er venstrejusterede som standard. Hvis man nsker at centrere data, kan man anvende >{\centering}, til hjrejustering anvendes \raggedleft. Her skal man dog passe en smule p! \centering har den lille feature at den piller ved kommandoen \\. I tabeller betyder denne start en ny rkke, men efter \centering betyder den nu noget helt andet. Det anbefales derfor at man beskytter \\ via >{\centering\arraybackslash}, se Eksempel 7.5, derved kommer \\ tilbage til sin tabelbetydning. Ud over \centering skal man tage tilsvarende forholdsregler ved brugen af \raggedleft, \RaggedLeft, \raggedright, \RaggedRight og \Centering. Teknisk set er det kun ndvendigt at man tilfjer \arraybackslash i sidste sjle, og kun hvis denne sjle anvender en af de problematiske konstruktioner.
Fortsttes p nste side 158
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Angivelse af sjlerne

(c) Makroerne \raggedright og specielt \RaggedRight (fra pakken ragged2e) er en stor fordel nr man har sjler med masser af tekst og hvor teksten automatisk deles. De nvnte to makroer fjerner helt eller delvist orddelingen, den sidste er isr smart thi den srger for at der kun kommer orddeling hvis vi har brug for det, og ellers lader teksten vre u-orddelt hvilket ofte er behageligere at lse. (d) Der er en lille hage ved anvendelsen af @{ kode } og !{ kode }, f.eks. i
l @{\quad} l

ragged2e

vil \quad blive placeret yderst til hjre i den frste sjle. Dette kan i visse situationer f interessante konsekvenser. Senere vil vi se lidt nrmere p tricks til at f mere luft mellem sjlerne. Bare lige for en ordens skyld skal vi lige minde om at man alts ikke kan skrive enhver konstruktion i en tabelcelle. Har man noget som automatisk skal skifte linie, f.eks. en liste, s br man anvende en p-sjle, eller en varwidth konstruktion, se afsnit B.5.
Sidebemrkning 7.3.

Lad os komme med nogle eksempler, husk Eksempel 7.1. Frst illustrerer vi hvordan bredden af cellerne ofte svarer til bredeste indhold, samt hvordan man kan f automatisk linieombrydning med p{ bredde }, bemrk desuden hvordan vi kan fremtvinge et linieskift. lang tekst
\begin{tabular}{c @{\qquad} p{2cm}} lang tekst & en meget lang eksempellinie\\ A & B \newline C \end{tabular}

en meget lang eksempellinie B C

Eksempel 7.2

I Eksempel 7.2 kan vi se at teksten i hjre sjle kan blive grim, da sjlen forsger at holde lige venstre- og hjrekant. Dette kser vi via ragged2e og array pakkerne, bemrk her brugen af \arraybackslash.
\usepackage{ragged2e,array}
slut preamble

\begin{tabular}% { >{\RaggedRight\arraybackslash}p{2cm} } en meget lang eksempellinie\\ den nste linie fylder endnu mere \end{tabular}

en meget lang eksempellinie den nste linie fylder endnu mere

Eksempel 7.3

Dette med at kunne indstte noget kode i slutningen af en celle, kan jo f.eks. anvendes til at stte en hel sjle i matematik-mode, s er man fri for at gre det pr. hndkraft i hver eneste celle. Se desuden afsnittet om \multicolumn (afsnit 7.3.3 side 161). Bemrk hvordan vi har fr lagt en $ ind i starten og slutningen af hver celle i frste sjle.

5 FiXme Note: Det flgende skal skrives om

159
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

Eksempel 7.4

\usepackage{amssymb,array}
slut preamble

\begin{tabular}{>{$} l <{$} p{5.5cm}} \mathbb{R} & Reelle tal\\ \mathbb{C} & Komplekse tal\\ \mathrm{SU}(n) & Gruppe af specielle unitre $n\times n$-matricer\\ \dots & \dots \end{tabular}

R C SU(n) ...

Reelle tal Komplekse tal Gruppe af specielle unitre n nmatricer ...

Skriver man sig en symbolliste som ovenfor, er det nok en ide at kombinere det med longtable (beskrevet i afsnit 7.5.2), s det kan deles over ere sider. Symbollister og ordforklaringer kan ogs laves p andre mder, se afsnit 9.13.
Tip 7.4.

Her er et eksempel som viser hvordan man kan f indholdet i en p-sjle centreret automatisk. Bemrk igen brugen af \arraybackslash.
Eksempel 7.5
\usepackage{array,booktabs}
slut preamble

\begin{tabular}% { >{\centering\arraybackslash}p{3.5cm} } noget mega langt som ikke kan vre i et 3.5\,cm felt \\ \midrule endnu en linie \end{tabular}

noget mega langt som ikke kan vre i et 3.5 cm felt endnu en linie

Sidebemrkning.

Herfra antages brugen af array-pakken (eller memoir -klassen).

De specielle meningsfyldte tegn vi anvender til at angive tabelpreamblen med, kan man ogs selv lave. Dette kan f.eks. anvendes til at lave en genvej til en preamble som man tit anvender. Syntaks:
\newcolumntype

\newcolumntype{

tegn }[ antal argumenter ]{ kode }

Man kunne s lave tabel-preamblen fra eksempel 7.4 med


Eksempel 7.6
\newcolumntype{B}[1]{>{$}l<{$} p{#1}} \begin{tabular}{B{5.5cm}} ...

Har man mange tabeller med samme preamble s kan man jo bare lave f.eks.
Eksempel 7.7
\newcolumntype{A}{ l c c c c c c c r} ... \begin{tabular}{A} ... \begin{tabular}{A} ...

Vi skal senere se mere komplekse tabelpreambler.


160
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Overskriftsceller

7.3.3

Overskriftsceller

Fr eller siden fr man desuden brug at lave celler som spnder over ere sjler, f.eks. til generelle overskrifter. Dette opns via
\multicolumn{

antal sjler }{ sjle konguration }{ tekst }

\multicolumn

Hvor sjle konguration svarer til det man skriver i tabel-preamblen bare gldende for denne ene celle, oftest c husk at dette nu er n meget bred celle, s der skal kun kongureres en enkelt sjle. Selve \multicolumn placeres i den frste celle den skal erstatte. I det nste eksempel har vi en bred celle som spnder over tre sjler. Bemrk hvordan det efterflgende & markerer overgangen til sjle 4.
\begin{tabular}{cccc} \multicolumn{3}{c}{12345678} & B \\ A & B & C & D \\ \end{tabular}

12345678 A B C

B D

Eksempel 7.8

Man kan sagtens anvende \multicolumn til at pille ved en celle som kun spnder n sjle. I s fald vil den angivne sjle konguration specikationen for netop denne celle tilsidestte specikationen for hele sjlen. Denne feature anvendes ofte til lokalt at ndre formateringen af en celle. F.eks. hvis sjlen var sat i matematik-mode, og man gerne ville lave en overskrift, s anvendes f.eks. \multicolumn{1}{c}{...} til at lave titelcellerne.
Sidebemrkning 7.5.

Er man get i mod vores anbefaling og alligevel anvender lodrette streger i en tabel, s skal man lige vre opmrksom p at den lodrette streg tilhrer cellen til venstre for den (cellen yderst til venstre kan have to). S anvender man \multicolumn i en sjle med en lodret linie, s forsvinder denne i cellen med \multicolumn, med mindre man srger for at huske at tage linien med i sjle konguration
Sidebemrkning 7.6.

Nr man nu har rodet med \multicolumn kunne man jo ogs f brug for en \multirow, hvilket man fr via standardpakken multirow,6 se Leichter og van Oostrum (2004).
\multirow{

multirow
\multirow

antal rkker }{ bredde }[ vmove ]{ tekst }

Teksten vil altid blive skrevet \raggedright (i.e. venstrejusteret ingen orddeling), men kan ndres ved at omdenere \multirowsetup. Boksen hvori teksten bender sig vil blive vertikalt centret inden for det omrde \multirow rder over. [ vmove ] kan anvendes til at justere p dette, vmove skal vre en positiv eller negativ lngde.
\usepackage{multirow,booktabs}
slut preamble

\multirowsetup

Eksempel 7.9

\begin{tabular}{l & 2 \\ \midrule

c} \toprule

0000 aa

\multirow{2}{1cm}{0000} & 1 \\ aa & 3 \\ \bottomrule \end{tabular}

1 2 3

6 Da celler som spnder over ere rkker ikke er lige s almindelige som celler som spnder over ere A sjler, er \multirow ikke en del af L TEX-formatet.

161
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

Eksempel med frste sjle centreret (bemrk hvordan frste celle under linien er venstrejusteret, mens teksten i multirow-cellen er centreret):
Eksempel 7.10
\usepackage{multirow,booktabs} \renewcommand\multirowsetup{\centering}
slut preamble

\begin{tabular}{l & 2 & 3 \\ \\ \midrule

c} \toprule

\multirow{3}{1cm}{noget txt} & 1 \\

noget txt aa

1 2 3 4

aa & 4 \\ \bottomrule \end{tabular}

7.3.4

Linier i tabeller

booktabs

A Tilbage i kommentarerne til Tabel 7.1 nvnte vi at L TEXs standard tabellinier ikke er ret gode, da de kommer for tt p teksten, s dem hopper vi let og elegant over. Vi vil i stedet anbefale brugen af linierne fra booktabs-pakken (de er direkte inkluderet i memoir -klassen). Pakken booktabs er skrevet for at kunne lave den slags tabeller som man anvender i high-end publikationer og bger, se eventuelt Chicago (2003), Ritter (2002) eller Bringhurst (2002). Selve booktabs stiller forskellige vandrette linier til rdighed, det specielle ved disse er at der er en anden luft over og under disse streger (engelsk: rules).7 Da booktabs kun har med streger at gre, kan pakken anvendes sammen med stort set alle tabelkonstruktioner, samt desuden i visse matematik sammenhnge. Syntaksen for makroerne flger herunder hvorefter vi ser p deres anvendelse.

Booktabs makrosyntaks

tykkelse ] \bottomrule[ tykkelse ] \midrule[ tykkelse ] \cmidrule[ tykkelse ]( trim ){ S1 -S2 } \specialrule{ tykkelse }{ luft over }{ luft under }
\toprule[

Syntaksen med ( trim ) kan udelades. luft over/under skal vre en lngde. Indst ekstra luft fr eller efter en rkke:
\addlinespace[

lngde ]

Standardtykkelsen af linierne kan justeres globalt ved at pille ved lngderne:


\heavyrulewidth \lightrulewidth \cmidrulewidth

7 En spndende eekt af denne ekstra luft, er at de nu slet ikke kan anvendes sammen med L T Xs almindeAE

lige konstruktion til lodrette linier, s har man endnu en grund til at lade vre. Se evt. Eksempel 7.14.

162
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Brug af fuldbredde-linier

Brug af fuldbredde-linier

\toprule

Den mest almindelige mde at anvende linierne er at man starter tabellens data med en og afslutter den tilsvarende med \bottomrule. I selve tabellen kan vi opdele via meningsfyldte \midrules, mske krydret med \cmidrule (som laver linier som ikke spnder over hele tabellens bredde). Forskellen mellem \toprule og \bottomrule er luften over og under. Top- og bundstregerne er normalt tykkere (\heavyrulewidth) end \midrule (\lightrulewidth). Et simpelt eksempel kan ses i eksempel 7.11. Man observerer at linierne str som det aller frste i frste celle af den rkke hvor linien skal st over. En linie er en speciel rkke, s man skal huske at afslutte rkken fr linien med \\. Dette er specielt vigtigt i forbindelse med bundlinien.
\usepackage{array,booktabs}
slut preamble

Eksempel 7.11

\begin{tabular}{l !{\qquad} r} \toprule Post Rdne g And Gnu & Udgift (kr) \\\midrule & & 35.53 11.50 \\ \\ \\\bottomrule & 250.00

Post Rdne g And Gnu

Udgift (kr) 35.53 250.00 11.50

\end{tabular}

Bemrk hvordan vi jvnfr anbefalingerne i starten, angiver enheden i sljeoverskriften.


Sidebemrkning 7.7.
\addlinespace

kan anvendes alle steder til at give lidt mere afstand mellem to rkker, fr eller efter en linie etc.
\usepackage{array,booktabs}
slut preamble

\addlinespace

Eksempel 7.12

\begin{tabular}{l !{\qquad} r} \toprule Post Frimrker Kopiering Total & Udgift (kr) \\\midrule & 235.53\\ & 423.50\\\midrule & 830.28\\\bottomrule

Post Frimrker Konvolutter Kopiering Total

Udgift (kr) 235.53 153.25 423.50 830.28

Konvolutter & 153.25\\ \addlinespace \end{tabular}

Afbrudte linier

Makroen \cmidrule tillader os at lave linier som ikke spnder hele bredden af tabellen. Dette anvendes oftest til at give et bedre overblik vedr. overskrifter i tabellen. Dog har \cmidrule en lidt sjov syntaks, i det obligatoriske argument skal man med tal1 - tal2 angive at stregen skal starte fra venstre kant af sjle tal1 og slutte ved hjre kant af sjle tal2 .8 Dvs. 1-2 strkker sig over de frste to sjler, 2-4 fra sjle 2 til og med sjle 4 og 6-6 dkker kun sjle 6. Det underlige ( trim )-argument, hvor trim bestr af mulighederne r, l eller rl som angiver at man vil trimme denne streg til hjre, venstre eller i begge sider, sammenlign de to tabeller i eksempel 7.13.
8 Sjlerne tlles fra 1 (bare lige af hensyn til datalogerne, der jo som bekedt tller fra 0).

\cmidrule

163
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

Eksempel 7.13

\usepackage{array,booktabs}
slut preamble

\begin{tabular}{l r r} \toprule \multicolumn{2}{c}{Overskrift} & Pris \\ \cmidrule{1-2}\cmidrule{3-3} Punkt & Antal & kr\\ \midrule \addlinespace[10mm] \toprule \multicolumn{2}{c}{Overskrift} & Pris \\ \cmidrule{1-2}\cmidrule(l){3-3} Punkt & Antal & kr\\ \midrule \end{tabular}

Overskrift Punkt Antal

Pris kr

Overskrift Punkt Antal

Pris kr

\cmidrules

Som det ses af eksempel 7.13 er trim delen meget anvendelig nr man har to som stder op mod hinanden, hvis vi ikke havde tilfjet (l) s ville man ikke kunne se at der var tale om to linier. Man kan selv styre hvor meget gab der skal vre via r{ lngde } eller l{ lngde }. En anden mulighed for at lgge luft mellem to af disse korte linier er direkte at indstte en ekstra sjle. Dette ser vi p i et senere afsnit. Her til slut m vi hellere overbevise lseren om at man ikke skal anvende lodrette linier sammen med booktabs-linierne.

Eksempel 7.14

Overskrift noget

Tekst andet

Lodrette linier i forbindelse med booktabs-linierne kan dog manuelt simuleres i de f tilflde hvor det er berettiget, men det kommer vi ikke nrmere ind p her.
7.4 Dataformatering

Langt hovedparten af alle tabeller vil vre oversigter over tal i forskellige afskygninger. A Det ville det vre rart at kunne f L TEX til at formatere disse tal p passende vis for os. Dette er emnet i dette afsnit. Vi skal se nrmere p to pakker dcolumn og siunitx. Den frste er af ldre dato, og funktionaliteten er indbygget i memoir -klassen. Den anden pakke er faktisk til formatering af tal og enheder, men giver ogs en langt mere avanceret dataformatering end dcolumn.
7.4.1 Automatisk decimaljustering med dcolumn-pakken

dcolumn

A Pakken column har den fordel at den er en standarddel af L TEX-installationerne, og er desuden en del af memoir -klassen. Men den er ikke videre eksibel, s til sjler som er bare en smule mere avancerede anbefaler vi pakken siunitx, se afsnit 7.4.3. Pakken dcolumn lser et par af de ting vi gerne ville kunne kongurere. Pakken giver os en ny sjletype bemvnt D, som tager tre argumenter:

D{

alignmenttegn }{ output }{ decimaler }

Argument forklaring:
164
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Automatisk decimaljustering med dcolumn-pakken


A alignmenttegn er her det tegn (og der m kun anvendes t tegn) som L TEX skal nde i hver celle i denne sjle. Dette vil ofte vre . (punktum) eller , (komma). A output er det L TEX skal indstte i outputtet i stedet for det fundne alignment tegn , ofte er det bare det samme som alignment tegn et, men kan vre hvad som helst, se senere eksempel.

decimaler anvendes til at angive hvordan det maksimale antal decimaler forholder sig. Man kan gre ere ting, men de ere vil anvende syntaksen antal tegn fr decimal . antal tegn efter . I denne kongurering vil det formaterede materiale s danne en speciel sjle som s centreres under overskriften. I sjlen vil det som str fr alignmenttegn blive hjrejusteret, og det som str efter bliver venstrejusteret. Hvis der ikke bliver fundet noget alignmenttegn i cellen, formateres data som var det den del som str fr decimalen. D-sjlen stter alle cellerne i sjlen i matematik-mode. S overskrifter skal man selv srge for at beskytte.9 Lsning: Indkapsling af hver D-sjleoverskrift i en \multicolumn{1}{c}{...}konstruktion. Evt. anvendt med flgende genvej:
Sidebemrkning 7.8.
\newcommand\mc[1]{\multicolumn{1}{c}{#1}}

Sledes at overskriften skrives \mc{overskrift}.

Kodetip 7.1

Man kommer sikkert ofte til at anvende D{.}{.}{x.y} hvilket er trls at skrive hele tiden, s lav en ny column specier.
Tip 7.9.
\newcolumntype{d}[1]{D{.}{.}{#1}}

og anvend d{3.4} i stedet. Vi vil nu lave et eksempel, som viser en del af de ting man kan gre med dcolumn, blandt andet ndre alignmenttegnet. Husk at - (minus) eventuelt ogs skal tlle nr man tller antallet af tegn fr og efter decimalen. Her kommer et eksempel hvor vi ogs leger lidt med output .
\usepackage{amsmath,dcolumn,booktabs} \newcommand\mc[1]{\multicolumn{1}{c}{#1}} % sparer plads
slut preamble

Eksempel 7.15

Eksempel 7.16

\begin{tabular}{ \toprule

D{-}{\text{--}}{2.2} D{.}{.}{3.2}

D{x}{{}\times{}}{6.4}

D{x}{}{4.0}}

\mc{Periode} & \mc{Tal} & \mc{Noget i MeV} & \mc{Klassisk snyd}\\ \midrule 9-10 & 234.43 & 2.33x10^3 & 0.33x10^3 & \mc{---} & 12 \\ \\ \\ 10-11 & -34.4 13-17 & .43 18-02 & 999 \bottomrule \end{tabular} & -4.00x10^3 & 124 & 0

& 3452 \\

Displaydelen af eksempel 7.16 ndes p nste side


9 siunitx har en smartere metode.

165
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

Eksempel 7.16 fortsat

Periode 910 1011 1317 1802

Tal 234.43 34.4 .43 999

Noget i MeV 2.33 103 4.00 103 0.33 103

Klassisk snyd 12 124 3452 0

Det man skal lgge mrke til i eksempel 7.16 er hvordan alignmentet forlber i sjle to, isr nr der ikke er noget p venstre hhv. hjre side af decimalen. frste sjle hvor man kan se hvordan man kunne lave et skema, bemrk brugen af \text{--} for at kunne lave den rigtige intervalstreg. sjle tre viser hvordan man kan erstatte alignment tegnet i kildekoden (x) med et andet outputtegn. Bemrk brugen af {}\times{}, de to {}-par srger for at spacingen omkring \times er helt rigtig. brugen af \multicolumn{1}{c}{---}10 for at kunne markere en tom indgang. Dette er normalt mden man gr dette p, om man s vil anvende -- eller --- er en smagssag. at man i sjle tre anvender ikke helt benlyse vrdier for antallet af tegn p hver sin side af decimalen. Dette trick kan man anvende nr man gerne vil have noget mere luft ind i sjlen, thi de almindelige !{...} eller @{...} fungerer ikke sammen med en D-sjle. I sjle 4 demonstrerer vi et klassisk trick. Man har en masse tal som skal hjrejusteres, men man vil gerne have dette centreret under overskriften. Tricket er at bede en D-sjle om at lede efter et tegn som ikke ndes i nogen af cellerne, s fortolkes indholdet som det som skal st fr decimalen (i.e. hjrejusteres). Man kan justere bredden via tal .0.

7.4.2

Kildekoden til tabel 7.2

Tabel 7.2 er lavet via booktabs, dcolumn samt threeparttable.11 Eksempel 7.17 viser kildekoden.

10 Her gennem vores hjemmelavede forkortelse \mc{---}. 11 Som er nrmere beskrivet p side 176.

166
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Dataformatering via pakken siunitx

\usepackage{booktabs,dcolumn,threeparttable}
slut preamble

Eksempel 7.17

\begin{threeparttable} \begin{tabular}{ D{-}{{}-{}}{2.2} D{.}{.}{2.2} D{.}{.}{2.2} D{.}{.}{3.2} c} \toprule \mu_{i}-\mu_{j} & \mc{1}{c}{$\bar{x}_{i\cdot}-\bar{x}_{j\cdot}$} & & & \\ & Ja & Ja & Ja \\ \\ \\

\mc{1}{c}{\textit{Nedre 95\%}\tnote{*}} \mc{1}{c}{\textit{\O vre 95\%}\tnote{*}} \mc{1}{c}{\textit{Signifikant}} \midrule \mu_{3}-\mu_{4} & 35.23 & 11.63 & 58.83 \mu_{3}-\mu_{1} & 58.77 & 35.17 & 82.37 \mu_{3}-\mu_{2} & 91.15 & 67.56 & 114.75 \mu_{4}-\mu_{1} & 23.54 & -0.06 & 47.14 \bottomrule \end{tabular} \footnotesize \begin{tablenotes}

& Nej \\

\item[*] Procentsatsen henviser til konfidensgrnsen. \end{tablenotes} \end{threeparttable}

Bemrk brugen af {}-{} for at f minusset i frste sjle til at f det rigtige mellemrum.
7.4.3 Dataformatering via pakken siunitx

A Siunitx er en ret ny pakke, s man skal have en moderne opdateret L TEX-installation for at have adgang til den, ellers kan den som altid hentes p ctan (se link i Wright (2010)). Forfatteren forbedrer hele tiden pakken, nder man en fejl eller har man en god ide til siunitx, s er Wright ofte hurtig med en ny release.

I det flgende antager vi at man anvender siunitx, version 2. I version 2 blev det meste af kongurationen omdbt. Hvis man fortsat anvender version 1, burde man kunne f det meste til fortsat at virke hvis man anvender
Sidebemrkning 7.10.
\usepackage[load-configurations=version-1]{siunitx}

Eksempel 7.18

Pakkens primre forml er at formatere tal og enheder. Begge dele skal vi senere kigge lidt nrmere p, se side 251. Da sjlehndtering egentlig er talformatering er det naturligt at pakken ogs tilbyder metoder til at formatere datasjler. Pakken siunitx introducerer en ny sjletype: S.12 I S-sjler vil data nu automatisk blive sendt gennem siunitx talformateringsmakro (\num), og den kan kongureres enten globalt eller lokalt via S[...]. Det bliver lidt langstrakt hvis vi skal til at forklare alt hvad siunitx kan, s vi kigger lidt p nogle eksempler, og vil i stedet henvise til Wright (2010) samt afsnit 10.1.1. Vi vil se p afrunding, pfyldning af nuller, hndtering af overskrifter13 , generel justering, hndtering af afvigelser, inkonsistente data. Vi starter simpelt. Som standard vil siunitx justere p decimalen, hvor vi er ligeglade om decimalen er komma eller punktum, begge erstattes med punktum, hvilket
12 Hvis cellspace pakken ogs er i brug vil den S sjletype som cellspace laver, blive opdbt til C. 13 For det er meget nemmere end med \mc som vi s tidligere.

167
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

dog kan justeres til f.eks. komma, hvilket vi gr i anden sjle (dette er egentlig korrekt dansk typogra, selvom de este efterhnden anvender punktum). Tredje sjle viser hvordan man kan justere datasjlen anderledes under overskriften (bemrk rkkeflgen af de to options, den frste stter nemlig den sidste til en anden vrdi end den vi gerne ville have).
Eksempel 7.19
\usepackage{siunitx,booktabs}
slut preamble

\begin{tabular}{S % unden config S[output-decimal-marker={,}] S[table-format=3.3, table-number-alignment=right] } \toprule {Noget tekst} & {Noget tekst} & {Noget tekst} \\ \midrule 123.3 45,67 & & 123.3 45,67 & & 123.3 45,67 \\ \\

Noget tekst 123.3 45.67 8.901

Noget tekst 123,3 45,67 8,901

Noget tekst 123.3 45.67 8.901

-8.901 & \end{tabular}

8.901 &

-8.901 \\ \bottomrule

Bemrk hvordan indholdet sttes i matematik-mode s minusset kommer ud rigtigt, og hvordan man bare anvender et st {} til at beskytte overskriften.14 Det nste vi ser p er afrunding og pfyldning af nuller.
Eksempel 7.20
\usepackage{siunitx,booktabs}
slut preamble

\begin{tabular}{S S[table-auto-round,table-format=3.3] S[table-auto-round,table-format=3.1] \toprule {Noget tekst} & {Noget tekst} & {Noget tekst}\\ \midrule 123.3 45.67 & & 123.3 & 45.67 & 123.3 \\ 45.67 \\ }

Noget tekst 123.3 45.67 8.901

Noget tekst 123.300 45.670 8.901

Noget tekst 123.3 45.7 8.9

-8.901 & -8.901 & -8.901 \\ \bottomrule \end{tabular}

Frste sjle er som fr, nummer to viser hvordan vi automatisk kan fylde nuller p hvis vi har lyst. Man bliver ndt til at fortlle sjlen hvor mange decimaler den skal fylde nuller ud til (via table-format=3.3, lidt a la det vi s med dcolumn). Bemrk at man kan reservere plads til fortegn via f.eks. table-format=-3.3, skulle man have brug for det. I det nste eksempel vil vi vise hvordan man kan fjerne justeringen p decimalen, samt vise hvordan man kan hndtere irregulre vrdier.

14 Meget nemmere end med \mc. . .

168
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Dataformatering via pakken siunitx

\usepackage{siunitx,booktabs}
slut preamble

Eksempel 7.21

\begin{tabular}{ l S S[table-parse-only, } table-number-alignment=right] \toprule & {Noget tekst} & {Noget tekst}\\ \midrule Tekst & 123,3 Tekst & 45.67 Tekst & {\numrange[range-phrase={ til }]{10}{25}} & 23.34567 \\ & 1 \\ \bottomrule Tekst & -8.901 \end{tabular} & & 123,3 1200 \\ \\

Noget tekst Tekst Tekst Tekst Tekst 123.3 45.67 10 til 25 8.901

Noget tekst 123.3 1200 23.345 67 1

Bemrk hvordan vi anvender {...} omkring intervallet for at f den centreret under overskriften. Husk selv matematik-mode hvis den irregulre vrdi pkrver det. Observer ogs hvordan tallet med de mange decimaler skrives, der indsttes en smule luft for at gre tallet nemmere at lse. Dette kan kongureres, se Wright (2010). Pt. kan siunitx ikke hjrejustere og centrere denne blok under overskriften s som dcolumn kan, men dette vil blive tilfjet til en senere version. Pakken understtter naturligvis ogs videnskabelig notation:
\usepackage{siunitx,booktabs}
slut preamble

Eksempel 7.22

\begin{tabular}{ l S[table-format=-2.2e2] } \toprule & { Energi (\si{\mega\electronvolt}) }\\ \midrule Tekst & 1.34e6 Tekst & 12.1e-3 Tekst & 6.1e34 Tekst & +-13.23e3 \bottomrule \end{tabular} \\ \\ \\ \\

Energi (MeV) Tekst Tekst Tekst Tekst 1.34 106 12.1 103 6.1 1034 13.23 103

Bemrk tricket med +-, dette virker dog ikke til at angive afvigelser. Her skal man i stedet anvende syntaksen 1.23(4) for at mene 1.23 0.04. Fremvisningen af denne syntaks kan man s styre p forskellig vis.
\usepackage{siunitx,booktabs}
slut preamble

Eksempel 7.23

\begin{tabular}{ S[table-format=2.2(2)] S[separate-uncertainty, table-format=2.2(2), table-figures-uncertainty=1 ]} \toprule {Noget tekst} & {Noget tekst}\\ \midrule 12.3(5) & 12.3(5) 5 & 5 \\ \\

Noget tekst 12.3(5) 5 9.87(65)

Noget tekst 12.3 0.5 5 9.87 0.65

9.87(65) & 9.87(65) \\ \bottomrule \end{tabular}

Her skal man observere forskellen mellem (5) og (65) og hvordan alignment vlges.
169
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

Man kan desuden lave mange andre interessante talformateringer via siunitx, f.eks. farve alle negative vrdier i en sjle rde. Man kan lave generelle kongurationer via kommandoen \sisetup, f.eks. angive at alle sjlerne skal (med mindre andet er angivet) anvende et bestemt antal decimaler, se Wright (2010) for mere info.
Sidebemrkning 7.11.

\sisetup

7.5

Andre tabel-environments

Vi nvnte tidligere at tabular kun var et blandt andre environments hvori man skriver sit tabelindhold. Vi vil her se p nogle af disse environments.
7.5.1
tabularx

Tabularx tabel med fast bredde

Pakken tabularx (direkte inkluderet i memoir ) giver os environmentet tabularx samt et nyt tegn til at spcicere en sjle X. Ideen med environmentet er at man har en tabel, som tildeles en specik bredde, tabellen behandler frst sjlerne som ikke er angivet som X, og herefter fordeles den resterende bredde ligeligt blandt X-sjlerne. Bag X str et p{ speciel bredde }. Bredden af tabellen angives som det frste af to obligatoriske argumenter til tabularx. Den generelle syntaks er derfor: tabelbredde }{ tabelpreamble } indhold som normalt \end{ tabularx }
\begin{tabularx}{

Tip 7.12.
\textwidth,

Det er en fordel at angive bredden af tabellen i termer af \linewidth eller s rejusteres tingene fornuftigt hvis man senere vlger at ndre marginer-

ne. Konstruktionen anvendes ofte nr man har p-sjler hvor man ikke selv gider specicere en passende bredde. Her flger et simpelt eksempel. Observer at sjle 1 og 3 fr den bredde de har brugfor og resten er ligeligt fordelt mellem sjle 2 og 4.
Eksempel 7.24
\usepackage{tabularx,booktabs}
slut preamble

\begin{tabularx}{0.9\textwidth}{cXc>{\raggedright\arraybackslash}X} \toprule Sjle 1 & Sjle 2 & Sjle 3 noget & \txt \end{tabularx} & Sjle 4 \\ \midrule \\ \bottomrule & noget andet & \txt

Sjle 1 noget

Sjle 2 Masser af tekst som bare er fyld og ikke skal bruges til noget.

Sjle 3 noget andet

Sjle 4 Masser af tekst som bare er fyld og ikke skal bruges til noget.

170
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Longtable tabel over ere sider

Konstruktionen er f.eks. yderst anvendelig nr man skal stille et regnskab op, der har man ofte to sjler, hvor belbssjlen har en fast bredde og hvor man s bare stter bredden af frste sjle til at autojustere via X. Det kunne se sdan ud
\begin{tabularx}{\linewidth}{X<{\enspace\dotfill} !{\quad} r} \toprule Udgift \midrule Spisning Transport m.m. (8 pers) Bestikkelse \midrule \multicolumn{1}{X}{Ialt} \bottomrule \end{tabularx} & 19500\\ & 16000\\ & & 2500\\ 1000\\ \let\dotfill\relax & Belb/kr \\

Eksempel 7.25

Udgift Spisning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transport m.m. (8 pers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bestikkelse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ialt

Belb/kr 16000 2500 1000 19500

Bemrk hvordan vi anvender \multicolumn til at fjerne prikkerne i den sidste rkke. Vi skal i et senere afsnit se hvordan man kan anvende X til at give luft mellem sjlerne i en tabel, se afsnit 7.6.
7.5.2 Longtable tabel over ere sider

Til tider har man s meget data at man har behov for at kunne skrive en eller ere tabeller som fylder mere end n side. Hvad gr man s? Der er ere lsninger, vi skal her se p longtable. En ting man lige skal huske er at oats, s som table, kun kan vre max n side, dvs. vi kan ikke kombinere en ersidet tabel med en oat. Dette er normalt ikke noget problem, man skal dog lige huske at man kan godt komme ud for at en endnu ikke placeret ydende tabel kan yde forbi vores er-sidede tabel, dermed f en forkert nummerering. Dette er dog forholdsvist sjldent.

longtable

171
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

Pakken longtable opfylder de flgende to krav til en tabelkonstruktion som fylder mere end n side: (1) Det skal vre sledes at nsker man det, skal systemet automatisk kunne gre opmrksom p at tabellen fortstter p nste side. (2) Man skal have metoder til automatisk at kunne gentage tabeloverskrifter p de efterflgende sider.
longtable

Environmentet longtable tager de samme argumenter som den almindelige tabular, men de frste rkker i tabellen kan anvendes til noget ret specielt. Longtable giver mulighed for at brugeren specicerer: (a) Hvad der skal st aller frst i tabellen, her placerer man normalt den almindelige caption, samt sjleoverskrifterne. (b) Hvad der skal nr de nste sider af tabellen starter. (c) Hvad der skal st i bunden af tabellen fr et sideskift, her kan man f.eks. skrive at tabellen fortstter. (d) Hvad der skal st i bunden af tabellen til aller sidst. Hvis en af konstruktionerne som normalt kun anvendes p n side, ikke angives, anvendes den generelle i stedet. Dette lyder ret kompliceret, men det er det i praksis ikke. Eksempel 7.26 er nok for de este. Der er flgende bemrkninger til Eksempel 7.26: (1) Der kan kun forekomme et sideskift mellem rkker, dette glder ogs selvom der kan vre meget tekst i en af cellerne i rkken. (2) longtable kan ikke yde s lad vre med at stte en \begin{table}. . . \end{table} omkring den. (3) Selve longtable-tabellen er automatisk centreret s det er heller ikke ndvendigt at centrere den. nsker man ikke at den skal ventreres, s tag et kig i Carlisle (2004). (4) Hvis tabellen skal have en caption skal man gre flgende (i) Selve \caption{ tekst } skal placeres enten indenfor \endfirsthead eller \endlastfoot. En eventuel label placeres sammen med den primre caption og som sdvanligt efter \caption. I longtable er \caption en meget speciel rkke (den skrives jo inden i selve tabellen), s vi skal huske at afslutte denne rkke med \\. (ii) Har man f.eks. placeret den primre caption indenfor \endfirsthead kan man placere en sekundr s som \caption[]{Tekst ... (fortsat)}15 indenfor \endhead. Men det er vigtigt at man husker []-erne i denne forbindelse. (5) P grund af den mde longtable er opbygget vil man ofte blive ndt til at overstte dokumentet nogle gange fr overskrifterne og bundteksten falder til ro. Dette glder isr hvis man har anvendt \multicolumn i en af overskrifterne. Et tegn p at man mangler at kompilere nogle gange er hvis bredderne i overskriften ikke matcher med sjlebredderne.16
15 Som kommer ud som: Tabel X: Tekst ... (fortsat). 16 Bredden af sjlerne er jo bestemt via den bredeste celle i hver sjle, s da tabellen kan deles over sider, bli-

ver man ndt til at gemme denne data via .aux-len og anvende dette ved nste overesttelse til at justere bredden p overskrifterne.

172
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Longtable tabel over ere sider

\begin{longtable}{

tabelpreamble

Eksempel 7.26

% starten af tabellen, anvendes paa foerste side \caption{tekst} \label{tab:27} \\ % caption er en speciel raekke, som skal afsluttes \toprule

Overskrifterne til sjlerne


\\ \midrule \endfirsthead % markerer slutningen af foerste header % de resterende headers, bemaerk [] ved \caption \caption[]{tekst (fortsat)} \\ % caption er en speciel raekke, som skal afsluttes \toprule

Overskrifterne til sjlerne


\\ \midrule \endhead % slut

% den gennerelle bund foer et sideskift \bottomrule \multicolumn{ \endfoot

antal sjler

}{r}{\textit{tabellen fortsttes}}

% slut

% sidste footer \bottomrule \endlastfoot % % Konfigurationen slutter her % slut

% resten af raekkerne indsaettes her: \end{longtable}

(6) Hvis tabellen kan vre p n side vil overskriften vre den som er givet via \endfirsthead og bundmaterialet vil vre det som er givet via \endlastfoot. (7) Hvis makroerne \endfirsthead eller \endlastfoot ikke er anvendt anvendes materialet indfanget af hhv. \endhead og \endfoot. (8) P grund af (1) er det en god ide at inkludere linier (rules) i de gemte headere og footere. (9) Man kan fremtvinge et sideskift i en longtable via den almindelige \newpage, som naturligvis skal placere mellem ro rkker. (10) Man kan anvende almingelige fodnoter i longtable. Det kan dog se bedre ud hvis alle noterne til tabellen er samlet efter tabellen, se afsnit 7.7.1. (11) Anvender man vandrette linier til at opdele tabellen p en fornuftig mde, kan man risikere at der forekommer et sideskift omkring denne linie, hvilket ikke altid ser pnt ud. Lige pt. har vi ikke nogen fornuftig lsning p denne feature.17

17 FiXme Ddelige: tjek lige dette

173
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

7.6

ndre ved luft i tabeller

En af metoderne til at gre en tabel mere lsbar, er at anvende meget mere luft i sin tabel, f.eks. til at adskille sjler. Dette mellemrum erstatter behovet for at adskille med lodrette linier. Vi starter med at kigge p vertikal luft da det er det hurtigste.
Vertikal luft

cellspace

\cellspacetoplimit \cellspacebottomlimit

Det mest almindelige problem folk kommer med vedr. manglende vertikal luft, er at linierne i tabellen kommer for tt p indholdet. Dette har vi jo allerede lst ved at anbefale brugen af linierne fra booktabs-pakken i stedet (eller at man anvender memoir ). Denne giver ogs mulighed for manuelt at indstte noget luft via \addlinespace, se Eksempel 7.12. Anvender man array-pakken har den lngden \extrarowheight som (lokalt) kan anvendes til at lave mere luft i toppen af cellerne. Pas p med at ndre denne globalt, da det ogs ndrer alle array-baserede konstruktioner, f.eks. matricer. Men indenfor f.eks. et table-environment fr et tabular-environment er det helt ok. En anden lsning er pakken cellspace. Man skal stort set ikke selv gre noget, man skal bare i stedet for eksempelvis at angive l c p{5cm} nu desuden stte et S foran, alts Sl Sc S{p{5cm}}. Pakken cellspace vil s srge for at der er minimum \cellspacetoplimit fri luft over teksten i cellen og \cellspacebottomlimit fri luft under teksten i cellen. Man br naturligvis angive S p alle sjlerne for at opn det bedste resultat. De to grnser er bare almindelige lngder som man s kan justere p i f.eks. sin preamble.
\usepackage{cellspace,amsmath,booktabs} \addtolength\cellspacetoplimit{4pt} \addtolength\cellspacebottomlimit{4pt}
slut preamble

Eksempel 7.27

\begin{tabular}{ c \end{tabular} \quad \begin{tabular}{ Sc \end{tabular}

\toprule $\dfrac{1}{2}$ & \dbx \\ \bottomrule

1 2

1 2

Sc

\toprule $\dfrac{1}{2}$ & \dbx \\ \bottomrule

nsker man at anvende den sammen med tabularx-konstruktionen (se senere i dette kapitel) skal man lige tage et kig i Noirel (2006). Anvender man desuden pakken siunitx (hvilket anbefales), s skifter cellspace S-et navn til C, for siunitx anvender jo selv S.
Sidebemrkning 7.13.

Horisontal luft

Der er ere metoder til at ndre ved luften mellem sjlerne i en tabel. Frst skal man lige vide at alle cellerne fr en form for padding til venstre og til hjre. Dette kan nemt illustreres via:
Eksempel 7.28
\setlength\fboxsep{0pt} \fbox{\begin{tabular}{c c}\dbx & \dbx\end{tabular}}

174
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Horisontal luft

Bemrk hvordan luften mellem de to sjler er dobbelt s stor som luften ved venstre og hjre kant. Strrelsen af denne luft styres af \tabcolsep. Har man en tabel hvor man gerne lige vil trkke tingene en smule mere sammen, s kan man forsge sig med flgende (indenfor table)
\setlength\fboxsep{0pt}% \fbox{\begin{tabular}{c c}\dbx & \dbx\end{tabular}} \medskip\noindent% \addtolength\tabcolsep{-3pt}% \fbox{\begin{tabular}{c c}\dbx & \dbx\end{tabular}}

Eksempel 7.29

Normalt har \tabcolsep lngden 6 pt. Tilbage i afsnit 7.3.2 nvnte vi at man kan lgge ting ind mellem sjlerne via @{...} eller !{...} konstruktioner. Forskellen illustreres nok bedst med et eksempel18
\setlength\tabcolsep{10pt} \setlength\fboxsep{1pt} \fbox{\begin{tabular}{@{} l @{} l !{} l} \dbx & \dbx & \dbx \end{tabular}}

Eksempel 7.30

@{}

Bemrk hvordan @{} fjerner al padding til venstre i den frste sjle samt hvordan mellem to sjler fjerner al padding.19 Omvendt gr !{} ikke noget. Dette betyder blandt andet at hvis man gerne vil have 1 em ekstra plads mellem to sjler kan man forsge med !{\quad}. Omvendt er dette ikke den hellige gral vedr. luft mellem sjler. Ser man bort fra venstre kant af frste sjler, vil @{...} og !{...} nemlig placere deres indhold i slutningen af den foregende sjle. Dette bliver et problem nr vi bruger brede sjleoverskrifter:
\begin{tabular}{l l !{\qquad} l} \toprule \multicolumn{2}{c}{AA} & BB\\ \midrule CC & DD & EE \\ \bottomrule \end{tabular}

Eksempel 7.31

AA CC DD

BB EE

Bemrk hvordan overskriften AA ikke lngere er centreret. Det er jo fordi \multicolumn overrider sjlekongurationen. En lsning kunne vre
\begin{tabular}{l l !{\qquad} l} \toprule \multicolumn{2}{c!{\qquad}}{AA} & BB\\ \midrule CC & DD & EE \\ \bottomrule \end{tabular}

Eksempel 7.32

AA CC DD

BB EE

Men det er jo lidt noget bvl at skulle g rundt og huske p. En noget mere eksibel lsning fr man ved direkte at anvende luft-sjler, alts sjler hvis eneste opgave er at styre luften mellem sjler, uden at forstyrre bredde overskrifter. Ulempen er naturligvis at man skal holde styre p ere &-tegn og specielt skal holde tungen lige i munden vedr. de brede overskrifter.
18 Vi stter \tabcolsep op for nemmere at kunne se forskellen. 19 Den luft som er tilbage skyldes \dbx.

175
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

Ideen er isr god sammen med tabularx, se flgende eksempel.


Eksempel 7.33
\begin{tabularx}{0.8\linewidth}{l !{\qquad} r X r X r X r} \toprule & \multicolumn{3}{c}{Gruppe 1} & & \multicolumn{3}{c}{Gruppe 2} \\ \cmidrule{2-4} \cmidrule{6-8} & Mnd && Kvinder && Mnd && Kvinder\\ \midrule Test 1 & 12 \bottomrule \end{tabularx} && 32 && 3 && 334 && 5 && --\\ \\ Test 2 & 1234 && 234

Gruppe 1 Mnd Test 1 Test 2 12 1234 Kvinder 32 234 Mnd 3 334

Gruppe 2 Kvinder 5

Man bliver ndt til at prve sig lidt frem med om der skal indsttes nogle @{} rundt omkring. De kan vre nyttige omkring X, for s kan luft sjlens bredde blive mindre end 2 padding, hvilket til tider kan vre nyttigt. Om man anvender @{...} eller !{...} til at indstte fastbredde luft, er lidt en smagssag, det komemr an p man man nsker at have paddingen med eller ej. Skulle man nske at ndre Eksempel 7.33 sledes at der er fast bredde mellem sjlerne i hver af de to grupper, s kunne man f.eks. erstatte de to relevante X-er med !{\quad}. Dette ender op med at give et meget mere luftigt tabeldesign som er nemmere for lseren at overskue.
7.7 Noter i tabeller

Der er mange som har det med at give forklaringer til gurer eller tabeller i captionteksten. Dette er ikke velanset, caption skal ses som en overskrift eller en form for billedtekst til en tabel eller gur. Lngere forklaringer til gurer eller tabeller hrer til i selve teksten. Kortere revante noter br dog skrives sammen med selve tabellen. I forbindelse med longtable (omtalt p side p side 171) kan man anvende almindelige fodnoter (via \fodnote), men dette kan man ikke generelt, det giver ofte heller ikke mening at anvende almindelige fodnoter da man ofte vil henvise til samme note i ere celler. Desuden er det pnest at noterne til tabellen kommer direkte efter tabellen, de skal ikke st nederst p siden. Tabelnoter er ofte vigtigere end almindelige fodnoter (som tit bare kan ignoreres af lseren).
7.7.1 Threeparttable(x)

threeparttable

table

Den nemmeste metode til at skrive noter til en tabel er at anvende pakken threepartsom giver et environment af samme navn. Dette environment skal s pakkes omkring det tabelenvironment man nsker at lave noter til. Syntaks:
\begin{threeparttable}[

\tnote

options ] almindelig tabel incl. \begin/end{tabular} etc. Note markeringer indsttes via \tnote{ nummer }, se Eksempel 7.34
176

Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Threeparttable(x)

\begin{tablenotes} \item[

tablenotes

nummer ]

...
\end{tablenotes} \end{threeparttable}

Makroen \tnote anvendes s i det tabulre materiale til at markere at der er en note til dette. nummer er her bare det tegn eller hvad man nu nsker at markere med, dermed er det ogs nemt at henvise til den samme note ere gange. Se Eksempel 7.34.

\usepackage{threeparttable} \usepackage[tableposition=top]{caption}
slut preamble

Eksempel 7.34

\begin{table} \centering \caption{en caption} \begin{threeparttable} \begin{tabular}{l l} \hline 123 & De tre frste tal\tnote{a}\\ 321 & En anden rkkeflge\tnote{\textdagger} \\ \hline \end{tabular} \footnotesize \begin{tablenotes} \item[a] en note \item[\textdagger] en anden note \end{tablenotes} \end{threeparttable} \end{table}

Tabel 1: en caption 123 321 De tre frste tala En anden rkkeflge

a en note en anden note

Her i bogen er threeparttable f.eks. anvendt ved tabel 1.1. Man skal bemrke flgene features ved threeparttable: 20 Bredden af tablenotes (samt \caption, hvis den er placeret indenfor threeparttable) bliver den samme som selve tabellen. Ved smalle tabeller kan man omdenere minimumsbredden af tablenotes (og \caption) via
\renewcommand\TPTminimum{10em}

Det kan vre en fordel at placere \caption udenfor threeparttable, for s kan caption blive bredere end tabelnoterne. Dette har dog den ulempe at \tnote ikke kan anvendes i \caption. Man skal selv srge for at skrive nummeret til \tnote og til \item i tabelnotelisten. Man kan ikke anvende environmentet threeparttable sammen med longtable, da dette delgger sideombrydningen i longtable. Dette kan man kse med pakken threeparttablex som man kan hente p ctan, se Madsen (2009). Denne pakke gr
20 FiXme Ddelige: skal skrives om via threeparttablex

Eksempel 7.35

threeparttablex

177
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

det ogs muligt at man kan referere til tabelnoter, samt endda give os et alternativ til \tnote s man kan markere sin note i teksten med en label. Eksempel 7.36 viser hvordan man laver tabelnoter sammen med longtable samt anvender muligheden for at markere via labels, derudover kan man nde eksempler i Madsen (2009).
Eksempel 7.36
\usepackage[referable]{threeparttablex} \usepackage{longtable,booktabs} \setTableNoteFont{\footnotesize} \renewcommand\TPTLsourcename{Kilde}
slut preamble

\begin{ThreePartTable} \begin{TableNotes} \source daleif \note dette er en note \item[a] \label{tn:a} Note a \item[b] \label{tn:b} Note b \end{TableNotes} \begin{longtable}{l l l} \caption{A long table}\\ \toprule Sjle 1 & & Sjle 2 \\ \midrule \endhead \cmidrule{3-3} \multicolumn{3}{r}{\textit{fortsttes}} \endfoot \bottomrule \insertTableNotes\\ \endlastfoot AAAA\tnotex{tn:a} & XXXXXXXX & BBBB \\ % \newpage CC & & DD\tnotex{tn:b} \\

Tabel 1: A long table Sjle 1 AAAAa CC


Kilde: daleif Note: dette er en note a Note a b Note b

Sjle 2 XXXXXXXX BBBB DDb

\end{longtable} \end{ThreePartTable}

Bemrk hvordan vi i Eksempel 7.36 stter standardfontstrrelsen for tabelnoterne globalt. Samt desuden de to ekstra makroer \note og \source som threeparttablex stiller tilrdighed.
Tip 7.14.

7.8
7.8.1

Ekstra bemrkninger
Lade tabellen rage lidt ud i marginen

Skulle tabellen vre lidt21 for bred til at kunne vre indenfor tekstbredden kan man lade den rage lidt udenfor. Skulle man anvende memoir -klassen s har den en rar lsning til dette er
\begin{adjustwidth}{

justering til venstre margin }{ justering til hjre margin }

tekst/kode
\end{adjustwidth}

21 Hvis den er meget for bred skal man enten skrive den om, eller vlge at lgge tabellen ned, se afsnit 7.8.2.

178
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Tabeller eller gurer i landskabsorientering

(denne fs ogs via pakken chngpage) eller


\begin{adjustwidth*}{

justering ved indre margin }{ justering ved ydre margin }

tekst/kode

\end{adjustwidth*}

Forskellen er at adjustwidth* srger for at skifte justeringen alt efter om det er en hjre eller en venstreside (i et to-sidet setup). Dvs. med
\begin{adjustwidth*}{0pt}{2em} tabel/figur \end{adjustwidth*}

Eksempel 7.37

vil tabellen stikke 2 em ud i den ydre margin. Versionen uden stjerne, har ikke dette tjek for hjre- og venstresider. De to environments kan anvendes overalt ikke kun til gurer og tabeller.
7.8.2 Tabeller eller gurer i landskabsorientering (i.e. lagt ned)

Man kan sagten komme til at presse for megen information ind i en tabel22 s man fr brug for at kunne lgge guren ned. Der er forskellige metoder til dette her ser vi kort p pakken rotating som bl.a. giver tre interessante environments sidewaystable anvendes i stedet for det omkransende \begin{table}. . . \end{table} environment. Den laver en oat som fylder hele siden og er smart nok til at srge for at i twoside-opstninger vil tabellen altid orienteres sledes at opad p tabellen vender ind mod ryggen af bogen. Bemrk at \caption-en vender p samme mde. Pakken har desuden options s den ikke vender tabellen p denne mde. sidewaysgure som for sidewaystable bare for gurer. sideways kan anvendes til bare at vende tabellen. Anvendes den udenfor noget som yder br den f.eks. omkranses med center.
\usepackage{rotating}

rotating

en meget simpel tabel

\begin{sidewaystable} \centering \begin{tabular}{|l|} \hline en meget simpel tabel\\ \hline \end{tabular} \caption{En caption.} \end{sidewaystable}

Samt et eksempel hvor vi ikke vender caption:

22 F.eks. alt for brede overskrifter.

179
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Tabel 1: En caption.

slut preamble

Eksempel 7.38

7. Om tabeller

slut preamble

\begin{table} \centering \begin{sideways} \begin{tabular}{|l|} \hline en meget simpel tabel\\ \hline \end{tabular} \end{sideways} \caption{En caption.} \end{table}

Tabel 1: En caption.

Den opmrksomme bruger har sikkert opdaget et mindre problem her. Hvad gr man hvis man har en longtable som fylder ere sider, men er for bred til den almindelige tekstbredde? Problemet er at lsningerne beskrevet i eksempel 7.38 og 7.39 jo er oats og disse kan ikke vre mere end n side. En mulig lsning p problemet er at anvende pakken lscape og s pakke materialet man nsker skal vre i landscape ind i environmentet landscape. Dvs. man fr en syntaks som ligner
\usepackage{lscape}
slut preamble

lscape landscape

\begin{landscape} Noget tekst \\ den anden vej \end{landscape}

A forlbet vil s vre sledes, at nr L TEX nr til landscape-environmentet, s afsluttes den nuvrende side med den tekst der kommer fr landscape (inklusive oats), hvorefter der p nste side startes en ny side hvor teksten skrives i landscape. Dette fortstter indtil der ikke er mere tekst, hvorefter siden afsluttes og den resterende tekst fortstter p siden herefter. Bemrk at det er kun teksten indenfor tekstblokken som vendes, sidehoved og -fod ndres ikke.

Da siden afsluttes fr landscape begynder, kan det vre en god ide at f fyldt hele den nuvrende side ud, inden landskabstabellen kommer. Dette gr man simplest p flgende vis:
Tip 7.15.

(a) Anvend \usepackage{afterpage} i preamble. (b) Placr koden til tabellen i en ekstern l, f.eks. tabel.tex. (c) I teksten anvendes s
Eksempel 7.41
\afterpage{\input{table.tex}}

S sikrer man sig at siden fyldes helt op fr tabellen kommer.


\afterpage

kan p denne mde anvende som en form for semi-oat.

180
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Noget tekst den anden vej

Eksempel 7.40

en meget simpel tabel

Eksempel 7.39

\usepackage{rotating}

Brug af farver i tabeller

7.8.3

Brug af farver i tabeller

Generelt anbefales det ikke at man anvender farvede celler i tabeller, da det normalt ikke hjlper videre p forstelsen af indholdet. Dog kan det vre nyttigt i forbindelse med prsentationer eller andre meget specielle applikationer. Men generelt vil vi ikke anbefale det til brug i specialer og lignende. Vi vil henvise til pakkerne colortbl samt farvepakken xcolor som ud over at give adgang til farver, desuden ogs udvider funktionaliteten fra colortbl. Linierne vi har valgt at anbefale (linierne fra booktabspakken), fungerer slet ikke sammen med farvede celler, farven nr ikke op til linierne, lidt p samme mde som med de lodrette linier i Eksempel 7.14.
Sidebemrkning 7.16.

colortbl xcolor

Man kan dog via et trick godt farve hele baggrunden for en tabel som er i fuld bredde. I flgende eksempel anvender vi en speciel version af shaded-environmentet fra framed pakken (eller memoir -klassen).
\usepackage{xcolor,booktabs,framed,tabularx} % version af shaded uden padding omkring \newenvironment{shadedyellow}{% \def\FrameCommand{\fboxsep=0pt\colorbox{yellow}}% \MakeFramed {\FrameRestore}}% {\endMakeFramed}
slut preamble

Eksempel 7.42

\begin{shadedyellow} \noindent \begin{tabularx}{\textwidth}{X<{\enspace\dotfill} !{\quad} r} \toprule Udgift \midrule Spisning Transport m.m. (8 pers) Bestikkelse \midrule \multicolumn{1}{X}{Ialt} \bottomrule \end{tabularx} \end{shadedyellow} & 19500\\ & 16000\\ & & 2500\\ 1000\\ \let\dotfill\relax & Belb/kr \\

Udgift Spisning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transport m.m. (8 pers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bestikkelse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ialt

Belb/kr 16000 2500 1000 19500

Hvis tabellen ikke er i fuld bredde s m man ty til et lidt mere beskidt trick
\begingroup \setlength\fboxsep{0pt} \colorbox{yellow}{% Tabel kode% } \endgroup

Eksempel 7.43

181
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

7.8.4

Data fra eksterne kilder

A Excel til L TEX

excel2latex Gnumeric

Der ndes en speciel makro man kan installere i Excel, sledes at Excel kan konvertere A Excel data til L TEX-kode. Excel makroen kan ndes p CTAN via http://www.ctan. org/tex-archive/support/excel2latex/ hvor man ogs nder en README med info om installation samt brug. En anden metode er at anvende programmet Gnumeric, som stort set er en Excel klon, primrt til Linux, men ndes ogs i en variant til Windows. Gnumeric har den A specielle feature at den kan lse Excel-ler og kan gemme/konvertere disse til L TEX, AT X-dokument. hvorfra man s kan copynpaste sine tabeldata ind i sit L E
Data fra CSV

datatool

Her kommer man ikke udenom pakken datatool. Den kan utroligt mange spndende A ting, f.eks. lave grafer (via TiKz) ud fra data, behandle data og s bruge L TEX til at formatere det med. Ls nrmere i Talbot (2009a). Vi vil njes med at lave et eksempel hvor vi nsker at formatere noget data fra en A CSV-l (vi snyder lidt og lader L TEX selv lave CSV-len), se Eksempel 7.44. Det man skal bemrke i eksemplet er hvordan man han hente data ind og formatere dem uden s mange dikkedarer, og hvordan man kan arbejde mere med data og dermed selv f.eks. styre hvordan sjlerne skal hndteres. Faktisk kunne man i sidste del af eksemplet sagtens ignorere sjler man ikke havde brug for. Nu er de to eksempler i Eksempel 7.44 nok ikke s relevante i virkeligheden. Det aller smarteste er at kombinere pakkerne datatool og siunitx, s lad os lave et eksempel med dem begge, for man skal lige vare en smule vgen. Flgende bygger p omtalen af datatool i et eksempel i Wright (2010). Vi skal ind og bruge \DTLforeach, men denne kan ikke bruges i en af siunitxs S-sjler. Derfor skal vi bruge et trick, da alt hvad \DTLforeach laver er globalt23 vil vi i stedet lave en sjle som ikke bruges til andet en at lave for-lkken (fabrikerede data). Eksempel 7.45 p side 184 er en smule teknisk, s lad os forklare et par ting: (a) Vi loader csv-len med nogle eksta options, noheader for at fortlle at den ikke skal lede efter den, og en key-liste som er interne navne (headere om man vil) som vi s kan henvise til senere. (b) Vi starter og formaterer en tabel som vanligt, der er 3 sjler i outputtet men bemrk @{} l til slut, det er dette som er tricket, den tomme sjle. Vi smider @{} foran for at den ikke skal optage nogen plads. (c) S laves overskrifterne, der er tre en tom og to tekster. (d) I den femte overskrift er det s vi udnytter den tomme sjle. (i) Her looper vi over rkkerne i csv-len, vi tildeler henvisningsmakroer via de headernavne vi valgte tidligere. (ii) Indeni selve loopet starter vi med at markere at vi vil begynde en ny rkke. (iii) Herefter skriver vi selve indholdet med de makroer vi denerede i deklarationen af loopet.
23 Ellers kan det ikke bruges i en tabel.

182
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

Data fra CSV

\begin{filecontents*}{data.csv} Forkortelse,Navn,Hjemmeside DK-TUG,"Dansk TeX-brugergruppe",http://www.tug.dk TUG,"The TeX Users Group",http://www.tug.org DANTE,"Deutschsprachige Anwendervereinigung TeX e.V",http://www.dante.de \end{filecontents*} \usepackage{datatool,url,booktabs}
slut preamble

Eksempel 7.44

\DTLloaddb{data}{data.csv} \renewcommand{\dtldisplaystarttab}{\toprule} \renewcommand{\dtldisplayafterhead}{\midrule} \renewcommand{\dtldisplayendtab}{\\\bottomrule} \DTLdisplaydb{data} Mere kontrol over formateringen:

\begin{tabular}{lll} \toprule \textbf{Forkortelse} & \textbf{Navn} & \textbf{Hjemmeside} \DTLforeach{data}{% \forkortelse=Forkortelse,\navn=Navn,\hjemmeside=Hjemmeside}{% \DTLiffirstrow{\\\midrule}{\\}% \forkortelse & \navn & \expandafter\url\expandafter{\hjemmeside} } \\\bottomrule \end{tabular}

Forkortelse

Navn

Hjemmeside http://www.tug.dk http://www.tug.org http://www.dante.de Hjemmeside


http://www.tug.dk http://www.tug.org http://www.dante.de

DK-TUG Dansk TeX-brugergruppe TUG The TeX Users Group DANTE Deutschsprachige Anwendervereinigung TeX e.V Mere kontrol over formateringen: Forkortelse DK-TUG TUG DANTE Navn Dansk TeX-brugergruppe The TeX Users Group Deutschsprachige Anwendervereinigung TeX e.V

183
Kapitlet er sidst opdateret 2010/10/30 12:56 (revision 738)

7. Om tabeller

Eksempel 7.45

\begin{filecontents*}{data2.csv} Dag 1,1.23444,23.344e5 Dag 2,10.23555,4.567e7 \end{filecontents*} \usepackage{datatool,booktabs} \usepackage[load-configurations=abbreviations]{siunitx}


slut preamble

\DTLloaddb[noheader,keys={h,a,b}]{data2}{data2.csv} \begin{tabular}{l S[table-format=2.3,table-auto-round] S[table-format=2.2e1,table-auto-round] @{} l} \toprule & { Forbrug (\si{\kWh}) } & { Energi (\si{\MeV}) } & \DTLforeach{data2}{% \Ih=h,\Ia=a,\Ib=b}{% \DTLiffirstrow{ \\ \midrule }{ \\ }% \Ih & \Ia & \Ib & } \\ \bottomrule \end{tabular}

Forbrug (kWh) Dag 1 Dag 2 1.234 10.236

Energi (MeV) 23.34 105 4.57 107

I en senere version af bogen vil vi inkludere et eksempel hvor vi kobler to databaser af samme strrelse, f.eks. s man kan tage sjle 1 og 3 fra database A og sjle 1, 2 og 5 fra database B.24

24 FiXme Note: husk at f dette med

184

Ottende Kapitel

Konstruktion af litteraturliste
Til tider ogs kendt som bibliogra, hvilket er noget alle fr brug for p et eller andet A tidspunkt. Kapitlet her fortller om hvordan man citerer i L TEX (meget lig det at lave en krydsreference) og hvordan man stter citeringsmaterialet op. Vi vil bde se p hvordan man skriver litteraturlisten pr. hndkraft samt hvordan man automatiserer processen via det eksterne program BibTEX.
8.1 Citeringskonventioner

Indenfor naturvidenskab (hovedmlgruppen for denne bog) anvendes normalt to forskellige citeringskonventioner. talsystem, dvs. nr man citerer en artikel kommer der f.eks. til at st [3], eller [3,57] forfatter-dato, dette kunne vre Mittelbach og Goossens (2004), alts et (eller ere) navn(e) samt et rstal. Til tider anvendes endda en kombination af begge systemer. Inden for jura og humaniora anvendes nogle lidt mere avancerede systemer. Her vil det vre en ide at tage et kig p jurabib-pakken. Mittelbach og Goossens (2004) har et lngere afsnit vedrrende dette emne. Vi vil i afsnittet 8.5.1 p side 202 vise nogle eksempler fra jurabib, venligst stillet til rdighed af Mogens Larsen. Jurabib kan f.eks. hndtere at skrive citeringen som fodnoter, hvor teksten fra litteraturlisten s gentages i fodnoten. Denne type er ikke s meget brugt indenfor naturvidenskab, men kan f.eks. vre interessant indenfor Matematik-konomi. Nogen bruger ogs at skrive citeringerne som fodnoter, igen er det ikke videre normalt indenfor matematik, men kunne mske ses indenfor Matematik-konomi eller f.eks. videnskabshistorie. Dette kan enten jurabib eller pakken opcit (se Garcia (2006)) klare. Vi vil kigge p de to systemer som normalt anvendes inden for naturvidenskab. Frst ser vi p hvordan man kan lave bibliograen pr. hndkraft, hvilket kan anvendes til en kort artikel eller et bachelorprojekt, man bliver dog hurtigt trt af det. Herefter vil vi automatisere processen via BibTEX og den mangfoldighed af muligheder dette program bringer med sig.
8.2 Bibliograenvironmentet

Environmentet thebibliography anvendes helt generelt til at lave alle bibliograerne med. Anvendes BibTEX s vil outputtet fra dette program vre et udfyldt thebibliogA raphy-environment som s automatisk indlses af L TEX.
8.2.1 Citerings syntaks
thebibliography

Syntaksen for thebibliography er:


185
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste

\bibitem

bredeste labeltekst } \bibitem[ txt1 ]{ ngle1 } bibliogrask tekst \bibitem[ txt2 ]{ ngle2 } bibliogrask tekst ...
\begin{thebibliography}{ \end{thebibliography}

Man citerer meget nemt en artikel via


\cite

\cite[

tekst efter citering ]{ ngle }

ligesom ved krydsreferencer og man skal igen huske at kompilere nogle gange fr citeringerne er helt opdateret. Det valgfri argument demonstreres i flgende eksempel.
Eksempel \cite{tlc2}, \cite[kapitel~8]{memman} 8.1

\begin{thebibliography}{2} \bibitem{tlc2} Frank Mittelbach og Michel Goossens. \emph{The \LaTeX{} Companion}. Addison-Wesley, 2. udgave, 2004. \bibitem{memman} Peter Wilson. \emph{The Memoir Class for Configurable Typesetting}. The Herries Press, 6. udgave, 2004. \end{thebibliography}

[1], [2, kapitel 8]

Litteratur
A [1] Frank Mittelbach og Michel Goossens. The LTEX Companion. Addison-Wesley, 2. udgave, 2004.

[2] Peter Wilson. The Memoir Class for Congurable Typesetting. The Herries Press, 6. udgave, 2004.

Som det ses af eksemplet er standardopstningen at man fr nummersystemet. Man kan, i stedet for nummeret, skrive en brugerdeneret tekst. Her kommer det valgfri argument til \bibitem ind, se eksempel 8.2. Bemrk desuden argumentet til thebibliography-environmentet.
Eksempel 8.2
\cite{tlc2}, \cite[kapitel~8]{memman}

[MG04], [PW04, kapitel 8]


\begin{thebibliography}{MG04} \bibitem[MG04]{tlc2} Frank Mittelbach og Michel Goossens. \emph{The \LaTeX{} Companion}. \bibitem[PW04]{memman} Peter Wilson. \emph{The Memoir Class for Configurable Typesetting}. \end{thebibliography}

Litteratur
[MG04] Frank Mittelbach og Michel A Goossens. The LTEX Companion. [PW04] Peter Wilson. The Memoir Class for Congurable Typesetting.

bredeste labeltekst

Eksempel 8.2 viser ogs hvad bredeste labeltekst -argumentet til thebibliography skulle bruges til. Den srger for at venstre margin af den bibliograske tekst passer. S man skal her enten vlge den bredeste tekststreng eller det bredeste tal som er anvendt yderst i listen, sammenlign med eksempel 8.1.
Sidebemrkning 8.1.

Der er flgende bemrkninger: (a) Nr man laver bibliograen p denne mde er det op til en selv at srge for at formatere tingene p den mde som man nu en gang nsker / er blevet pkrvet. F.eks. ser man ofte at titler str med kursiv. Journal bind (nummer) skrives ofte i fed.
Fortsttes p nste side 186

Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

Forfatter-r citeringer lavet uden BibTEX

(b) En fejl jeg ofte retter i preprints og lignende er nr forfatteren har skrevet bibliograen pr. hndkraft og glemmer at intervaller skal1 laves via -- og ikke via -, husk derfor at tjekke isr sidetals angivelser. (c) Sammentrkninger i stil med [4,69,11] kan laves via pakken cite, se Arseneau (2003a) for yderligere information om brugen af denne pakke.
\usepackage{cite}
slut preamble

cite

[13, 5] [14] [1, 35]

Eksempel 8.3

\cite{a,b,c,e} \cite{c,a,b,d} \cite{a,c,d,e} \begin{thebibliography}{9} \bibitem{a} A \bibitem{b} B \bibitem{c} C \bibitem{d} D \bibitem{e} E \end{thebibliography}

Litteratur
[1] A [2] B [3] C [4] D [5] E

Pakken natbib som vi skal kigge p senere, har ogs mulighed for automatisk at kunne lave denne sammentrkning, s der behver man ikke pakken cite.

8.2.2

Forfatter-r citeringer lavet uden BibTEX

Det er ikke videre eksibelt at lave forfatter-r citeringer direkte via thebibliography (uden at skrive alt for meget i hnden) men det kan faktisk godt lade sig gre, selv om man anbefales kraftigt at anvende BibTEX i stedet hvilket vi skal se senere. Den interesserede lser kan tage et kig p harvard-pakken og dens tilhrende udvidede syntaks.
8.3
8.3.1

harvard

BibTeX
Hvad er BibTeX?

A BibTEX er et eksternt program som ud fra data angivet i L TEX-dokumentet (gennem .aux-lerne), en eller ere bibliograske databaseler samt en BibT X-kongurationsl E kan lave en bibliogra formateret ud fra forskellige regler (speciceret af kongurations len), f.eks. fremsat af en journal. Et BibTEX forlb kan se nogenlunde sdan ud:

Trin 1 Forfatteren citerer en bog som endnu ikke tidligere har vret citeret i dette dokument. Denne information tilfjes ved oversttelsen af dokumentet til .auxlen. Trin 2 Man krer BibTEX p hoveddokumentets .aux-l (eller bare p lnavnet (uden endelse) p masterlen), f.eks.:
bibtex master

1 Ud fra et typogrask synspunkt.

187
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste

BibTEX laver et specielt formateret thebibliography-environment i en ekstern l (master.bbl) som kommandoen \bibliography (se nedenfor) s srger for at inkludere i dokumentet. Trin 3 Man overstter igen hoveddokumentet, den nyligt genererede .bbl-l inkluderes automatisk og thebibliography srger for at skrive de rette citeringsinformationer (det er de informationer som \cite skal bruge for at skrive citeringsteksten) til .aux-len, her i blandt informationerne til det nye vrk vi lige har citeret. Trin 4 Man overstter igen. Nu er citeringsoplysningerne, som skal indsttes i teksten af \cite (og venner), tilgngelige og bliver indsat i teksten. Man skal alts udfre (i rkkeflge):
latex, bibtex, latex

og latex

hver gang man har citeret noget som ikke har vret citeret fr. Har materialet tidligere vre citeret, ndes oplysningerne allerede (i .aux-lerne) og man har ikke brug for at kre BibTEX igen. For at kunne anvende BibTEX skal man placere flgende to makroer i sit dokument:
\bibliographystyle \bibliography

bibstyle } \bibliography{ liste af bib-lnavne }


\bibliographystyle{

bibstyle er navnet p kongureringslen BibTEX skal anvende (angivet uden lendelse) og denne afgr hvordan bibliograen skal kongureres, ting forkortes osv. Se afsnit 8.5 for nogle eksempler. liste af bib-lnavne er en kommasepareret liste af navne (uden endelse) p BibTEX databaseler, som alle skal have endelsen .bib. Vi skal senere se hvordan man laver en database l, afsnit 8.4.
\bibliographystyle

kan sagtens placeres i preamblen, mens \bibliography placeres der hvor man gerne vil have ens litteraturliste placeret. Her er et simpelt eksempel (skrevet med en mindre font for at spare lidt plads).
[2], [1, kapitel 5]
\cite{texbytopic}, \cite[kapitel~5]{bringhurst} \bibliographystyle{plain} \bibliography{minbib}

Eksempel 8.4

Litteratur
[1] Robert Bringhurst. The Elements of Typographic Style. Hartley & Marks, 2. edition, 2002. Version 2.5. [2] Victor Eijkhout. TEX by TopicA TEXnicians Reference. Addison-Wesley, 2001.

Alt efter stilen vil BibTEX selv srge for at skrive bibliograen i alfabetisk rkkeflge (efter frste forfatter) eller forkorte navnene osv. Man kan ogs nemt f BibTEX til at indstte punkterne i bibliograen i den rkkeflge de er citeret, hvilket de f.eks. ikke er i eksempel 8.4. I modstning til direkte brug af thebibliographyenvironmentet vil man ved brug af BibTEX kun f de bger med i litteraturlisten, som man faktisk citerer. Skulle man nske at inkludere vrker (i litteraturlisten) som ikke citeres direkte kan dette gres via
Sidebemrkning 8.2.
\nocite

\nocite{

(kommasepareret) liste af ngleord }


Fortsttes p nste side 188

Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

Forfatter-r citeringer med pakken natbib

eller
\nocite{*}

som inkluderer alle indgange i alle de .bib-ler man har inkluderet, med i litteraturlisten. Modsat af hvad man skulle tro, er det ikke nogen ulempe, at man normalt kun fr de bger med man faktisk citerer. Denne funktionalitet betyder at man kan genbruge ens .bib-ler i mange forskellige projekter, hvilket ikke er s nemt med den hndformaterede litteraturliste. Man kan s at sige sagtens have alle de artikler og bger man har lst, liggende i sin(e) BibTEX database(r) og s gre brug af dem igen og igen. Da BibTEX databaserne bare er informationer, er det eneste som skal til for at skifte fra layoutet for Journal A til layoutet for Journal B, at man skifter bibliograstilen (kongurationslen).
Tip 8.3. Skulle en journal krve at man inkluderer et thebibliography-environment (det kan jo vre de ikke selv kan nde ud af at anvende BibTEX), skal man bare erstatte \bibliography{...} med indholdet af den genererede .bbl-l (f.eks. master.bbl).

En anden fordel er naturligvis at man nemt kan skifte litteraturlistens udseende man skifter jo bare bibliogra stilen og overstter det hele forfra.2
[Eft05]
\cite{bib1} \nocite{bib2} \bibliographystyle{alpha} \bibliography{minbib}

Eksempel 8.5

Litteratur [Eft99] Fornavn2 Efternavn2. Titel2. Journal2, 35:233245, 1999. [Eft05] Fornavn1 Efternavn1. Titel1. Journal1, 2005.

Eksempel 8.5 viser en stil hvor forfatterefternavn(e) samt ret giver citeringsteksten. Det flgende eksempel viser en citeringssorteret version.
[1] [2]
\cite{texbytopic} \cite{bringhurst} \bibliographystyle{unsrt} \bibliography{minbib}

Eksempel 8.6

Litteratur [1] Victor Eijkhout. TEX by TopicA TEXnicians Reference. AddisonWesley, 2001. [2] Robert Bringhurst. The Elements of Typographic Style. Hartley & Marks, 2. edition, 2002. Version 2.5.

I de eksempler vi har set indtil nu har vi hele tiden anvendt talsystemet som citeringssystem, lad os nu i stedet se p forfatter-r systemet.
8.3.2 Forfatter-r citeringer med pakken natbib

Forfatter-r citeringer kommer normalt i to varianter Forfatternavn (r) samt (forfatter, r) og ofte har det mening (alt efter hvordan stningen er formuleret) at kunne anvende begge versioner. Til dette anvender vi oftest natbib-pakken. Her har man nu ikke kun \cite men anvender i stedet forskellige andre varianter:
\citet[

natbib

tekst fr citering ][ tekst efter citering ]{ ngle liste }

\citet

2 latex, bibtex, latex og latex.

189
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste

\citep

\citep[ \cite

tekst fr citering ][ tekst efter citering ]{ ngle liste }

vil nu (ofte) vre et alias for \citet. Hvis man kun nsker en tekst efter citering (som ved \cite) anvender man bare kun et enkelt valgfrit argument, men nsker man kun en tekst fr citering skal man anvende begge valgfri argumenter og lade det hjre vre blankt, se eksempel 8.7.
\usepackage{natbib} \bibliographystyle{chicago}
slut preamble

Eksempel 8.7

\citet{perl} \citet[kapitel~8]{perl} \citet[se][]{perl} \citep{perl} \citep[kapitel~8]{perl} \citep[se][]{perl}

\\ \\ \\[7pt] \\ \\

Wall et al. (2000) Wall et al. (2000, kapitel 8) Wall et al. (se 2000, kapitel 8) Wall et al. (se 2000) (Wall et al., 2000) (Wall et al., 2000, kapitel 8) (se Wall et al., 2000, kapitel 8) (se Wall et al., 2000)

\citet[se][kapitel~8]{perl}\\

\citep[se][kapitel~8]{perl}\\

\citet* \citep*

Et al.-delen betyder at der her er en bog med mere end to forfattere (kommer an p bibliograstilen). Anvend \citet* og \citep* for at f de fulde navne.
\usepackage{natbib} \bibliographystyle{chicago}
slut preamble

Eksempel 8.8

\citet*{perl} \\ \citep*[se][kapitel~8]{perl}\\

Wall, Christiansen, and Orwant (2000) (se Wall, Christiansen, and Orwant, 2000, kapitel 8)

Som man kan se ovenfor vil man alt efter BibTEXkongurationen f et. al-linier, hvis forfatter antallet kommer over en vis grnse (bestemt af stilen). Der er desvrre et potentielt problem med dette. Nr BibTEX laver de data som f.eks. bliver til Wall et. all som ovenfor, s kender den ikke til nogen af de andre indgange i litteraturlisten. Tager vi stilen chicago som eksempel, s giver den et. al ved tre forfattere og op. Betragt s flgende to publikationer, udgivet samme r med forfatterlisten F1 , F2 , F3 og F1 , F2 , F3 , da vil begge give F1 et. al (2007) selv om det er to forskellige forfatterkombinationer! Eneste mde at undg dette er ved frst at tjekke ens bibliogra for at se om der er potentielle problemer og s srge for altid at citere disse via fulde navne, i.e. \cite*{ key }.
Sidebemrkning 8.4.

Man har desuden flgende varianter:


\citealt \citealp \citeauthor \citeauthor* \citeyear \citeyearpar

ngle } som \citet men uden parenteser (plus -version) \citealp{ ngle } som \citep men uden parenteser (plus -version) \citeauthor{ ngle } giver forfatterdelen, evt. forkortet \citeauthor*{ ngle } giver forfatterdelen i fuld version \citeyear{ ngle } ret uden parenteser og \citeyearpar{ ngle } med parenteser
\citealt{

Via de beskrevne makroer kan man s lave sine egne specielle citerings udtryk. De anvendte parenteser (som er styret af natbib og eventuelt bibliograstilen) kan speciceres via
\citetext

\citetext{

tekst }
190

Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

Pakkeoptions til natbib

Eksempel:
\usepackage[square]{natbib} % nu med en anden type parenteser \bibliographystyle{chicago}
slut preamble

Eksempel 8.9

[se Eijkhout 2001 og om perl se Wall, Christiansen, and Orwant, 2000]

\citetext{se \citealt{texbytopic} og om perl se \citealp*{perl}}

Man kan sagtens komme ud for at lave en citering i begyndelsen af en stning men her kan der s vre et problem hvis forfatterens efternavn faktisk starter med sm bogstaver s som van eller von etc. Men det kan natbib ogs klare, se Daly (2003b) afsnit 4.4. En bog kan ogs vre mere kendt under en specik betegnelse, f.eks. var den gamle udgave af LaTeX Companion kendt som Hundebogen, da den havde en hund p forsiden. Dette kan man lave via ngle }{ anden tekst } \citetalias{ ngle } \citepalias{ ngle }
\defcitealias{
\defcitealias \citetalias \citepalias

Eksempelvis
\usepackage{natbib} \bibliographystyle{chicago}
slut preamble

Eksempel 8.10

\defcitealias{tlc2}{TLC2} Vi kan nu citere \citet{tlc2} eller som \citetalias{tlc2}

Vi kan nu citere Mittelbach and Goossens (2004) eller som TLC2

Det skal lige bemrkes at har man under forfatter-r kongurationen en \cite med to citeringer af samme forfatter, s vil denne blive forenklet, se f.eks. Daly (2003b), side 7, nederst p siden. Det kunne se ud som i Eksempel 8.11.
Sidebemrkning 8.5.
\cite{SASdisplay,MemoirChapStyles}

Madsen [2006b,a]

Eksempel 8.11

Pakkeoptions til natbib

En strre oversigt kan ses i Daly (2003b), men her er et par stykker: (i) round, square styrer hvilke typer parenteser der skal anvendes. (ii) colon (standard, navnet er misvisende, der anvendes semikolon) eller comma styrer separationen mellem citeringer nr man citerer ere p en gang. Natbib version 8 (fra 2007), har ndret dette, sledes at semicolon og colon nu betyder det samme. (iii) authoryear (default), numbers eller super ndrer mden hvorp man citerer (kan ogs styres fra stilen). numbers giver numre i litteraturlisten, men stadigvk forfatter informationer i citeringer i teksten, mens super skriver citeringen som et lftet tal (som i journalen Nature). Det skal bemrkes at man ved numbers fr ndret fortolkning af \cite, den bliver nemlig nu lig \citep.
191
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste

Eksempel 8.12

\usepackage[numbers]{natbib} \bibliographystyle{chicago}
slut preamble

\cite{perl} \\ \citet{perl}\\ \citep{perl}

[1] Wall et al. [1] [1]

Det vil sige at \citet faktisk her giver os bde forfatternavnene samt en numerisk reference. Det er der nogen som kan lide. Skulle man have fundet ovenstende interessant nok til at man hellere vil anvende \citet i stedet for \cite, s kan dette nemt kses: Placer flgende efter man har aktiveret natbib.
Eksempel 8.13
\let\cite\citet

(iv) sort ndrer udseendet ved en citering af ere vrker p en gang, sort vil sortere dem s de kommer i samme rkkeflge som i litteraturlisten. Anvendes de numeriske citeringer vil sort&compress betyde at man fr sammentrykket citeringen, i.e. [39,12], svarer alts til virkningen af pakken cite. (v) longnamesfirst betyder at frste gang et vrk er citeret vil den lange udgave af forfatternavnene blive anvendt mens de efterflgende citeringer bliver i en eventuelt forkortet et al.-version.

8.4

Generering af BibTEX-database

Der ndes forskellige vrktjer til at hndtere genereringen af bibliogradatabaserne, se Mittelbach og Goossens (2004) afsnit 13.4, men for de estes vedkommende kan man sagtens lave en sdan via en almindelig teksteditor.
Beskrivelse af format

En BibTEX databasel er bare en ganske simpel tekstl, hvor hver indgang er formateret p en speciel mde sledes bibtex kan forst det. I selve formatet bestr hver vrk-indgang af konstruktioner af flgende type:
@

type { ngle ,
felt_navn_1 = { felt_navn_2 = { felt_navn_3 = { ... felt_navn_n = {

tekst 1 }, tekst 2 }, tekst 3 }, tekst n }

I stedet for at omkranse tekst med { }-er man kan ogs anvende et " "-par. Der glder visse regler man skal overholde nr man skriver database indgangene man skal afslutte alle felter med komma (,) (behver dog ikke efter det sidste punkt). hvert fysisk punkt i len skal have en entydig ngle hvilket er den tekst man citerer efter med citeringsmakroerne (bemrk placeringen af nglen, lige efter den bnende {). Nglen br ikke indeholde mellemrum, danske tegn eller komma.
192
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

Beskrivelse af format

man m ikke anvende non-ascii tegn i bibliograen, dvs. dem skal man i stedet A skrive med L TEX koder, =\ae, =\o og =\aa samt diverse andre accent tegn og disse skal alle omkranses via { }-er, i.e. J{\o}rgen, det samme glder f.eks. \'e.3 Som jeg ser det er det dog kun af hensyn til sorteringen at man skal tnke p dette. I note feltet (se nedenfor) kan man sagtens bruge , det plejer ikke vre noget problem. A Man br ogs placere { }-omkring andre L TEX makroer, f.eks. \TeX, thi nogle bibliograstile har det med at ndre visse store bogstaver til sm. Al luft omkring lighedstegnet (=) ignoreres af BibTEX. Alt efter den type indgangen har, vil visse felter vre obligatoriske,4 nogle vil vre valgfri (dvs. kommer med hvis de er tilstede), mens andre helt ignoreres. Hvilke som fortolkes og hvilke som ikke gr, kommer helt an p bibliograstilen. Nogle stile understtter f.eks. et issn-felt, andre mske et url-felt. Her er nogle af de mest almindelige typer og deres forhold til feltnavne (fra Mittelbach og Goossens (2004) side 763 hvor man ogs kan nde ere5 ). artikel i journal eller tidsskrift Obligatorisk: author, title, journal og year. Valgfri: volume, number, pages, month og note. book bog med udgiver Obligatorisk: author eller editor6 title, publisher og year. Valgfri: volume eller number, series, address, edition, month og note. booklet trykt vrk som mangler udgiver Obligatorisk: title Valgfri: author, howpublished, address, year og note. inbook del af en bog Obligatorisk: author eller editor, title, chapter og/eller pages, publisher og year. Valgfri: volume eller number, series, type, address, edition, month og note. phdthesis ph.d.-afhandling Obligatorisk: author, title, school og year. Valgfri: type, address, month og note. proceedings fra en konference Obligatorisk: title og year Valgfri: editor, volume eller number, series, address, publisher, note, month og organization. inproceedings en artikel i en konferenceproceeding (bog) Obligatorisk: author, title, booktitle og year. Valgfri: samme som ved proceedings.
article

P den mde kan man alts f:


3 Det kan vre at bibtex ikke kan nde ud af at sortere ordentligt p dansk, i s fald kan man prve pro-

grammet bibtex8 i stedet. Der er dog det forbehold at bibtex8 forventer at nde tegnene , eller , og ikke \ae, \o eller \aa som bibtex forventer. Tak til Arne Jrgensen for den afklaring.
4 BibT X giver en advarsel hvis et pkrvet felt ikke er med. E 5 Vi mangler her misc, masterthesis, techreport, unpublished og manual. 6 Det kan se ud som om man enten skal anvende den ene eller den anden, men ikke begge. Det kan dog

sagtens afhnge af stilen.

193
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste

Eksempel 8.14

@Book{texbytopic, author = title = year = note = {Eijkhout, Victor}, {{\TeX} by Topic---A {\TeX}nician's Reference}, {Addison-Wesley}, {2001}, {Er skrevet i 1991 men nu udsolgt fra forlaget. Forfatteren har senere overtaget alle copyright rettigheder og har stillet bogen frit til download via \url{http://www.eijkhout.net/tbt/}. }, }

publisher =

Syntaks for author-feltet

Et navn i author feltet indtastes normalt p en af to mder:


Fornavn Mellemnavn(e) Efternavn Efternavn, Fornavn Mellemnavn(e)

I de este tilflde kan BibTEX sagtens nde ud af hvilke dele af navnet der er hvad. Den kan endda identicere von navne. Men hvor der kan opst tvivl om hvordan navnene skal fortolkes (nogen har to ligevrdige efternavne), foretrkkes den sidste formulering. Bemrk at der kan vre visse grnsetilflde som kan volde problemer, i dette tilflde henvises til Mittelbach og Goossens (2004), afsnit 13.2.2.
Sidebemrkning 8.6.

Nr man skriver forfatternavnene i sin .bib-l, er det en god ide at vre konsekvent i den mde man skriver tingene p, s er man sikker p at BibTEX formaterer det samme forfatternavn p samme mde hver gang.
Sidebemrkning 8.7.
and

Nr man har mere end en forfatter adskilles de med ordet and (ogs p dansk, ordet and er en del af BibTEX formatet). Her er et eksempel fra Rose og Moore (1999).
author = {Rose, Kristoffer H. and Moore, Ross},

Eksempel 8.15

Bemrk for vrigt at en eventuel forfattersortering (af selve litteraturlisten) glder efter den frste forfatter. Se ogs afsnit 8.6.
Specielt om titelfeltet

Man skriver naturligvis titlen p vrket, som det str p forsiden af vrket. Men der kan vre specielle sproglige regler, evt. indbygget i en bibliograstil, som gr at titlen kommer til at se anderledes ud. Det man oftest ser, er at ord som i .bib-len stod med stort nu er skrevet med lille (dog ikke det frste ord i titlen). Hvis dette er et problem, eksempelvis hvis der i titlen indgr navnet p en by, skal man tage sine forholdsregler. Man stter det berrte ord ind i et {}-par:
Brug af {\LaTeX} ved {Aarhus} {Universitet}

Her er \LaTeX ogs omkranset, idet man kunne risikere at f \latex i outputtet, og den er ikke deneret som standard.

194
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

URL i bibliograer

Man anbefales at omkranse hele ordet og ikke bare frste bogstav i ordet (Mittelbach og Goossens, 2004, side 768). Grunden kan ses her:
Sidebemrkning 8.8.
{V}a

vs. {Va}

Va vs. Va

Fnomenet kaldes kerning, eller knibning p dansk. Vi kan se at aet kommer (korrekt) tttere p Vet nr man anvender {Va}. Desvrre anbefaler mange journalers info til formattere stadigvk at man anvender {V}a, men det er alts forkert. Husk i den forbindelse at gre det samme omkring matematik i titlen.

URL i bibliograer

Det er de frreste bibliograstile som understtter et url-felt. Er man s uheldig at den stil man anvender ikke understtter et url-felt, anbefales det at man placerer url-en i note-feltet. Nr man skal inkludere en url er det fornuftigt at anvende pakken url og dens \url makro. Denne makro vil nemlig kun dele url-en p de steder hvor det er tilladt at dele en url. Det gr jo ikke at man orddeler ord i en url, i stedet ombrydes ved :, . og /.
Tip 8.9.
url
\url

195
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste

8.5
7

Bibliograstilarter

Der ndes mange forskellige kongurationsler (bibliographystyles) til BibTEX. Mittelbach og Goossens (2004) har en lngere oversigt, vi vil nvne nogle stykker i afsnit 8.5.1. Bibliograstiller har altid endelsen .bst, skulle man have lyst til at lede efter dem.
8.5.1 Eksempler p BibTEX kongureringsler

I alle eksemplerne vil vi anvende flgende BibTEX-data (gemt som testbib.bib):8


@incollection{Ahr02, author = "Ahr, D. and Reinelt, G.", title = "New heuristics and lower bounds for the min-max $k$-{C}hinese postman problem", editor = "M{\"o}hring, R. and Raman, R.", series = "Lecture Notes in Computer Science", booktitle = "Lecture Notes in Computer Science", volume = 2460, pages = "64--74", publisher = "Springer Verlag", address = "Berlin", year = 2002, } @article{Dror00b, author = "Dror, M. and Haouari, M.", title = "Generalized {S}teiner problems and other variants", journal = "Journal of Combinatorial Optimization", year = 2000, volume = 4, pages = "415--436", file = "dro00b.pdf", annote = {Denne note har intet budskab, men viser blot dens funktion.}, } @book{Lawler76, author = "Lawler, E.L.", title = "Combinatorial Optimization: Networks and Matroids", publisher = "Holt, Rinehart and Winston", address = "New York", year = 1976, shorttitle = {Combinatorial Optimization}, }

Og den dokumentkildekode vi vil gre brug af er:9


Eksempel 8.16
\renewcommand\section[2]{} \noindent \cite{Dror00b}, \cite{Ahr02}, \cite{Lawler76} \bibliography{testbib}

html

Man kan desuden tage et kig p http://www.cs.stir.ac.uk/~kjt/software/latex/showbst. hvor man nder en oversigt over nogle BibTEX-stile. I eksemplet er der tilfjet to ekstra ngleord: annote og shorttitle, disse ignoreres af de este BibTEX stile, men kan anvendes i forbindelse med jurabib, se afsnittet 8.5.1 p side 202.
7 FiXme Note: det vil vre naturligt at f blandet babelbib ind i det ogs 8 Data venligst stillet til rdighed af Christian Roed Pedersen. 9 Ved at omdenere \section slipper vi for overskriften og sparer derfor en del plads.

196
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

Standardstile

Standardstile
\bibliographystyle{plain}

Eksempel 8.17

[2], [1], [3] [1] D. Ahr and G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. In R. Mhring and R. Raman, editors, Lecture Notes in Computer Science, volume 2460 of Lecture Notes in Computer Science, pages 6474. Springer Verlag, Berlin, 2002. [2] M. Dror and M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415436, 2000. [3] E.L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.
\bibliographystyle{alpha}

Eksempel 8.18

[DH00], [AR02], [Law76] [AR02] D. Ahr and G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. In R. Mhring and R. Raman, editors, Lecture Notes in Computer Science, volume 2460 of Lecture Notes in Computer Science, pages 6474. Springer Verlag, Berlin, 2002. [DH00] M. Dror and M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415436, 2000. [Law76] E.L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.
\bibliographystyle{unsrt}

Eksempel 8.19

[1], [2], [3] [1] M. Dror and M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415436, 2000. [2] D. Ahr and G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. In R. Mhring and R. Raman, editors, Lecture Notes in Computer Science, volume 2460 of Lecture Notes in Computer Science, pages 6474. Springer Verlag, Berlin, 2002. [3] E.L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.

197
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste
Eksempel 8.20

\bibliographystyle{abbrv}

[2], [1], [3] [1] D. Ahr and G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. In R. Mhring and R. Raman, editors, Lecture Notes in Computer Science, volume 2460 of Lecture Notes in Computer Science, pages 6474. Springer Verlag, Berlin, 2002. [2] M. Dror and M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415436, 2000. [3] E. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.

Denne stil er ikke s god sammen med vores data idet data allerede er skrevet med forkortede fornavne. Men ideen bag stilen er alts at den automatisk vil srge for at gre fornavne til initialer.
Danske oversttelser

Arne Jrgensen har (via Dag Langmyhrs norske oversttelser) oversat ovenstende fem BibTEX-kongurationer til dansk, sledes at man fr danske ord i stedet for de almindelige engelske. Desuden er der kommet support for et par ekstra BibTEX-felter. For yderligere information se Jrgensen (2006).
Eksempel 8.21
\bibliographystyle{dk-plain}

[2], [1], [3] [1] D. Ahr og G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. I R. Mhring og R. Raman, redaktrer, Lecture Notes in Computer Science, bind 2460 af Lecture Notes in Computer Science, side 64-74. Springer Verlag, Berlin, 2002. [2] M. Dror og M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415-436, 2000. [3] E.L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.

Eksempel 8.22

\bibliographystyle{dk-alpha}

[DH00], [AR02], [Law76] [AR02] D. Ahr og G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. I R. Mhring og R. Raman, redaktrer, Lecture Notes in Computer Science, bind 2460 af Lecture Notes in Computer Science, side 64-74. Springer Verlag, Berlin, 2002. [DH00] M. Dror og M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415-436, 2000. [Law76] E.L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.

Eksempel 8.23

\bibliographystyle{dk-unsrt}

Displaydelen af eksempel 8.23 ndes p nste side 198


Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

BibTeX-stile kompatible med natbib-pakken


Eksempel 8.23 fortsat

[1], [2], [3] [1] M. Dror og M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415-436, 2000. [2] D. Ahr og G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. I R. Mhring og R. Raman, redaktrer, Lecture Notes in Computer Science, bind 2460 af Lecture Notes in Computer Science, side 64-74. Springer Verlag, Berlin, 2002. [3] E.L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.

\bibliographystyle{dk-abbrv}

Eksempel 8.24

[2], [1], [3] [1] D. Ahr og G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. I R. Mhring og R. Raman, redaktrer, Lecture Notes in Computer Science, bind 2460 af Lecture Notes in Computer Science, side 64-74. Springer Verlag, Berlin, 2002. [2] M. Dror og M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415-436, 2000. [3] E. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.

\usepackage[apalike]{dk-bib} \bibliographystyle{dk-apali}

Eksempel 8.25

(Dror og Haouari, 2000), (Ahr og Reinelt, 2002), (Lawler, 1976) Ahr, D. og Reinelt, G. (2002). New heuristics and lower bounds for the min-max k-Chinese postman problem. I Mhring, R. og Raman, R., redaktrer, Lecture Notes in Computer Science, bind 2460 af Lecture Notes in Computer Science, side 64-74. Springer Verlag, Berlin. Dror, M. og Haouari, M. (2000). Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415-436. Lawler, E. (1976). Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York.

Grunden til at vi bliver ndt til at indlse pakken dk-bib er at apalike-stile krver eksistensen af visse makroer.
BibTeX-stile kompatible med natbib-pakken

Bemrk igen at der generelt vil blive anvendt engelske ord i de formaterede indgange.
\usepackage{natbib} \bibliographystyle{plainnat}

Eksempel 8.26

Displaydelen af eksempel 8.26 ndes p nste side 199


Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste
Eksempel 8.26 fortsat

Dror and Haouari [2000], Ahr and Reinelt [2002], Lawler [1976] D. Ahr and G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. In R. Mhring and R. Raman, editors, Lecture Notes in Computer Science, volume 2460 of Lecture Notes in Computer Science, pages 6474. Springer Verlag, Berlin, 2002. M. Dror and M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415436, 2000. E.L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.

For lige at demonstrere natbib-pakkens stil-options


Eksempel 8.27
\usepackage[numbers]{natbib} \bibliographystyle{plainnat}

[2], [1], [3] [1] D. Ahr and G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. In R. Mhring and R. Raman, editors, Lecture Notes in Computer Science, volume 2460 of Lecture Notes in Computer Science, pages 6474. Springer Verlag, Berlin, 2002. [2] M. Dror and M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415436, 2000. [3] E.L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.

Her viser vi ogs referencerne i teksten (lidt ndret fra de andre eksempler)
Eksempel 8.28
\usepackage[super]{natbib} \bibliographystyle{plainnat}

A 2, B 1, C 3 [1] D. Ahr and G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. In R. Mhring and R. Raman, editors, Lecture Notes in Computer Science, volume 2460 of Lecture Notes in Computer Science, pages 6474. Springer Verlag, Berlin, 2002. [2] M. Dror and M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415436, 2000. [3] E.L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.

Eksempel 8.29

\usepackage{natbib} \bibliographystyle{unsrtnat}

Displaydelen af eksempel 8.29 ndes p nste side 200


Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

BibTeX-stile kompatible med natbib-pakken

Dror and Haouari [2000], Ahr and Reinelt [2002], Lawler [1976] M. Dror and M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415436, 2000. D. Ahr and G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. In R. Mhring and R. Raman, editors, Lecture Notes in Computer Science, volume 2460 of Lecture Notes in Computer Science, pages 6474. Springer Verlag, Berlin, 2002. E.L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.
\usepackage{natbib} \bibliographystyle{abbrvnat}

Eksempel 8.29 fortsat

Eksempel 8.30

Dror and Haouari [2000], Ahr and Reinelt [2002], Lawler [1976] D. Ahr and G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. In R. Mhring and R. Raman, editors, Lecture Notes in Computer Science, volume 2460 of Lecture Notes in Computer Science, pages 6474. Springer Verlag, Berlin, 2002. M. Dror and M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415436, 2000. E. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.
\usepackage{natbib} \bibliographystyle{chicago}

Eksempel 8.31

Dror and Haouari (2000), Ahr and Reinelt (2002), Lawler (1976) Ahr, D. and G. Reinelt (2002). New heuristics and lower bounds for the min-max k-Chinese postman problem. In R. Mhring and R. Raman (Eds.), Lecture Notes in Computer Science, Volume 2460 of Lecture Notes in Computer Science, pp. 6474. Berlin: Springer Verlag. Dror, M. and M. Haouari (2000). Generalized Steiner problems and other variants. Journal of Combinatorial Optimization 4, 415436. Lawler, E. (1976). Combinatorial Optimization: Networks and Matroids. New York: Holt, Rinehart and Winston.

Man skal dog bemrke at chicago ikke er fundt kompatibel med natbib i alle henseende.
\usepackage{natbib} \bibliographystyle{apalike}

Eksempel 8.32

Dror and Haouari (2000), Ahr and Reinelt (2002), Lawler (1976) Ahr, D. and Reinelt, G. (2002). New heuristics and lower bounds for the min-max k-Chinese postman problem. In Mhring, R. and Raman, R., editors, Lecture Notes in Computer Science, volume 2460 of Lecture Notes in Computer Science, pages 6474. Springer Verlag, Berlin. Dror, M. and Haouari, M. (2000). Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415436. Lawler, E. (1976). Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York.
201
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste

Se ogs dk-apali, som desvrre (endnu) ikke er kompatibel med natbib.


Eksempel 8.33
\usepackage{natbib} \bibliographystyle{dlfltxbbibtex}

Dror og Haouari (2000), Ahr og Reinelt (2002), Lawler (1976) D. Ahr og G. Reinelt, New heuristics and lower bounds for the min-max k-Chinese postman problem, i R. Mhring og R. Raman, red., Lecture Notes in Computer Science, bind 2460 af Lecture Notes in Computer Science, pp. 6474, Springer Verlag, Berlin, 2002. M. Dror og M. Haouari, Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4, 415436, 2000. E.L. Lawler, Combinatorial Optimization: Networks and Matroids, Holt, Rinehart and Winston, New York, 1976.

Dette er en stil som jeg personligt lavede til denne bog via makebst. Stilen ndes sammen med dlfltxb bundtet p ctan, hvor man ogs nder makebst kongurationslen. nsker man at lege med kongurationslen, bedes man omdbe den frst.
Eksempel 8.34
\usepackage{natbib} \bibliographystyle{kluwer}

Dror and Haouari (2000), Ahr and Reinelt (2002), Lawler (1976) Ahr, D. and Reinelt, G.: 2002, New heuristics and lower bounds for the min-max k-Chinese postman problem, in R. Mhring and R. Raman (eds), Lecture Notes in Computer Science, Vol. 2460 of Lecture Notes in Computer Science, Springer Verlag, Berlin, pp. 6474. Dror, M. and Haouari, M.: 2000, Generalized Steiner problems and other variants, Journal of Combinatorial Optimization 4, 415436. Lawler, E.: 1976, Combinatorial Optimization: Networks and Matroids, Holt, Rinehart and Winston, New York.

Denne krver desuden at incollection har et udfyldt booktitle-felt.


Eksempler fra jurabib pakken

Vi vil ikke g i detaljer10 men vil i stedet henvise til pakkedokumentationen Berger (2004), samt Mittelbach og Goossens (2004) afsnit 12.5.1, side 715743. Det meste af den flgende tekst samt alle eksempler er udarbejdet og venligst stillet til rdighed af Mogens Larsen. Frst et eksempel p en almindelig opstning (anvendt af Mogens til hans speciale i historie). Som man ser kommer citeringen frem i en fodnote p siden hvor der citeres.

10 Det er der slet ikke plads til, hvis man skal dkke bare lidt af det jurabib kan.

202
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

Eksempler fra jurabib pakken

\usepackage[% authorformat=firstnotreversed, titleformat=all, commabeforerest, ibidem=strict, citefull=first, oxford, super, pages=format, annote, ]{jurabib}
slut preamble

% Ved flere forfattere er kun den

% frste p formen ``Efternavn, Fornavn''. % Nste citation er ``efternavn, titel, side''. % Kommaer fr sidenumre og andre tilfjelser. % Brug af ibid ved gentagne referencer til samme titel. % Idem kan ogs benyttes. Begge kan justeres. % Fuld citation ved frste reference. % Oxford stil (humaniora). % ndrer \cite til \footcite. % Tilfjer ``p.'' og ``pp.'' % Tilfjer indholdet af bibtex feltet ``annote'', % som kan vre en note til titlen. % Titel vil vre shorttitle i bibtex fil hvis angivet, ellers alm. titel.

Eksempel 8.35

A\cite{Dror00b}, B\cite{Lawler76}, C\cite{Ahr02} og D.\cite[430]{Lawler76} \bibliographystyle{jox} \renewcommand\section[2]{} % fusk for at spare plads \bibliography{testbib}

A1 , B2 , C3 og D.4 Ahr, D. og G. Reinelt, New heuristics and lower bounds for the min-max k-Chinese postman problem, i: Mhring, R. og R. Raman, redaktere, Lecture Notes in Computer Science, volume 2460 (Berlin: Springer Verlag, 2002), pp. 6474. Dror, M. og M. Haouari, Generalized Steiner problems and other variants, Journal of Combinatorial Optimization 4 (2000), pp. 415436.
Denne note har intet budskab, men viser blot dens funktion.

Lawler, E.L., Combinatorial Optimization: Networks and Matroids (New York: Holt, Rinehart and Winston, 1976).
1 M. Dror og M. Haouari, Generalized Steiner problems and other variants, Journal of Combinatorial Optimization 4 (2000). 2 E.L. Lawler, Combinatorial Optimization: Networks and Matroids (New York: Holt, Rinehart and Winston, 1976). 3 D. Ahr og G. Reinelt, New heuristics and lower bounds for the min-max k-Chinese postman problem, i: R. Mhring og R. Raman, redaktere, Lecture Notes in Computer Science, volume 2460 (Berlin: Springer Verlag, 2002). 4 Lawler, Combinatorial Optimization, p. 430.

Det skal lige bemrkes at der kan vre en fejl i len dajbbib.ldf som styrer den danske opstning vedr. jurabib. Denitionen af \editorsname, br vre

\def\editorsname{\unskip,\space{}redakt\o rer}%

Her er et modiceret eksempel fra jurabibs hjemmeside.

203
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste

Eksempel 8.36

\usepackage[% citefull=first, % Fuld citation ved frste reference. % tilfjet r ved citation. titleformat=colonsep, titleformat=italic, commabeforerest, ibidem=strict, % Kolon mellem forfatter og titel % ved citation. % Bogtitler i italic. % Komma fr sidenummer . % Brug af Ibid for gentagne referencer % i sekvens til samme bog/artikel. . bibformat=ibidemalt, % Alternativt bibliografi formatide fra tysk jura. dotafter=bibentry, ]{jurabib}
slut preamble

authorformat={smallcaps,year}, % Forfatternavne i small caps og

% Slutpunktum.

A\footcite{Dror00b}, B\footcite{Lawler76}, C\footcite{Ahr02} og D.\footcite[430]{Lawler76} \bibliographystyle{jurabib}\renewcommand\section[2]{} % fusk \bibliography{testbib}

A1 , B2 , C3 og D.4 Ahr, D./Reinelt, G.: New heuristics and lower bounds for the min-max k-Chinese postman problem. I Mhring, R./Raman, R., redaktere: Lecture Notes in Computer Science. Volume 2460, Berlin: Springer Verlag, 2002, 6474. Dror, M./Haouari, M.: Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4 2000, 415436.
1 Dror, M./Haouari, M.: Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4 2000. 2 Lawler, E.L.: Combinatorial Optimization: Networks and Matroids. New York: Holt, Rinehart and Winston, 1976. 3 Ahr, D./Reinelt, G.: New heuristics and lower bounds for the min-max k-Chinese postman problem. I Mhring, R./Raman, R., redaktere: Lecture Notes in Computer Science. Volume 2460, Berlin: Springer Verlag, 2002. 4 Lawler (1976), 430.

Som det ses kan man kongurere jurabib nrmest i det uendelige. Man skal naturligvis huske at anvende en BibTEX-stil som understtter jurabib, men s er man ellers krende. Faktisk kan man ogs justere den til at f et udseende som vi tidligere har et med natbib.
8.6 Andet

Sortering af danske navne

Det kan give problemer hvis man har en forfatter som f.eks. hedder Srensen, dette skal jo i BibTEX skrives som S{\o}rensen, men s bliver det sorteret som So i stedet for som S. Dette kan faktisk kses med et lille trick. Tilfj frst flgende i starten af .bib-len
Eksempel 8.37
@PREAMBLE{{ \providecommand{\noopsort}[1]{} }}

Dette tilfjer en kommando til bibliograen som bare der sit input, men med den kan man forklare BibTEX hvordan man nsker at sortere et bestemt ord. Det skal s f.eks. anvendes som
204
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

Sprogproblemer ved brug af BibTEX

author = {S{\noopsort{z}{{\o}}}rensen, Bent},

S vil Srensen blive sorteret som Szrensen, hvilket kan afhjlpe en forkert sortering. Et andet eksempel kunne vre hvis man nsker at citere Lord Kelvin og hvor Lord skal placeres foran efternavnet.
author = {{\noopsort{Kelvin}{Lord Kelvin}} },

Eksempel 8.38

Eksempel 8.39

Sprogproblemer ved brug af BibTEX

P dansk vil vi gerne afskille forfatternavnene i bibliograen med ordet og ikke med ordet and. Man skal anvende and til at adskille forfatternavnene i .bib-len, det er op til bibliograstilen at bestemme hvilket ord der skal adskille forfatternavnene. Vi har lige set at Arne Jrgensen har srget for at standardstilene samt apalike er oversat til dansk, men der er desvrre ingen af disse som er kompatible med natbib. Man har nogle muligheder: (1) Prv om pakken babelbib er noget for dig. Denne pakke giver, sammen med oversttelser af de mest almindelige stiller, en feature hvor specialord i litteraturlisten, kan styres gennem babel eller via brugeren. Se Harders (2009) for mere information. De tilhrende BibTEX-stiller understtter ud over de mere normale felter desuden, ISSN, ISBN, URL og URLDATE. S vidt vides er babelbib er kompatibel med natbib. (2) Ignorr problemet og accepter at der str visse engelske betegnelser i bibliograen. Hvis ens vejleder er emsig (eller man selv er det) kan man ogs rette bibliograen pr. hndkraft. Gres ved at man efter man sidste gang har krt BibTEX, inkluderer indholdet af .bbl-len ind i ens dokument i stedet for \bibliography{ style } (grunden til at man ikke br rette det direkte i .bbl-len er at denne overskrives hvis man ved et uheld kommer til at kre BibTEX igen). (3) Lav din egen bibliograstil med makebst, se Mittelbach og Goossens (2004) for mere information. Bibliograstilen anvendt i denne bog (daleif.bst) er hjemmelavet via makebst. (I begrnset omfang kan undertegnede godt vre behjlpelig med at lave en stil via makebst, isr hvis vi kan tage udgangspunkt i stilen anvendt til denne bog (daleif.bst). nsker man en kopi af daleif.bst, eller makebst-kongurationslen daleif.dbj, er man velkommen til at sende mig en mail.) Muligvis kan biblatex ogs hjlpe med sprogproblemer, se afsnit 8.9. Et andet sprogproblem blev beskrevet i fodnote 3, nemlig at BibTEX i sig selv ikke kan nde ud af at sortere mht. de specielle danske vokaler. En lsning p dette er programmet bibtex8. Bemrk at Arne Jrgensen har i forbindelse med hans dk-bibpakke ogs lavet nogle specielle kongurations ler til bibtex8, s den desuden kan nde ud af dobbelt a. En helt tredje mulighed er at forsge sig med jurabib som jo nt har understttelse for dansk. Se eksemplerne fra afsnittet 8.5.1, p side 202.
Online reference databaser
babelbib

makebst

BibTEX kan ikke selv hente data fra nettet, men der ndes faktisk databaser p nettet, hvor man kan hente bibliograske information i blandt andet i BibTEX-format. Desvrre er adgangen til disse databaser sjldent gratis. Den gode nyhed er dog at de este
205
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste

universiteter har fuld adgang til disse databaser og man kan s tilg informationerne fra universiteternes egne netvrk. Har man tilknytning til Aarhus Universitet har man desuden mulighed for at anvende Statsbibliotekets fjernadgang til at tilg databaserne hjemmefra, se
http://www.imf.au.dk/bibliotek/om-biblioteket/#c2323

Ellers skal man sprge til mulighederne hos ens lokale institutbibliotek. Her er en liste over nogle enkelte databaser. MathSciNet (http://ams.mathematik.uni-bielefeld.de/mathscinet) Stor database over diverse artikler og bger indenfor de este omrder af matematikken. Dog kan matematik-konomi halte lidt. Man nder den artikel man sger, stter mrke ved det sgte, gr til toppen af siden og nder Citations (BibTeX) i dropdown-menuen og trykker Retrieve Marked. S fr man en n BibTEX-indgang for netop denne artikel. Her er et eksempel (hvis man har adgang):
http://ams.math.uni-bielefeld.de/mathscinet/search/publications.html? fmt=bibtex&b=2219303.

Zentralblatt MATH (http://www.zentralblatt-math.org/zmath/en/) Ligner meget MathSciNet og er endnu nemmere at anvende. Der er sikkert ogs databaser indenfor andre discipliner som faktisk tilbyder citeringsdata i BibTEX-format. Hvis de kun tilbyder i andre formater skulle man evt. kunne konvertere denne data via programmet jabref, se afsnit 8.8, eller via RefWorks, se afsnit 8.8.

8.7

Emneopdelt litteraturliste

Til tider kunne man godt tnke sig at emneopdele litteraturlisten i f.eks. artikler og bger, eller i primr og sekundr litteratur. Dette kan vi naturligvis ogs, men det krver lidt ekstra arbejde. De pakker som normalt nvnes er: multibib, bibtopic og bibunits (samt chapterbib hvis man nsker en litteraturliste til hvert kapitel). Flles for alle tre er at de genererer ekstra .aux-ler som man manuelt skal kre BibTEX p. Dette kan vre et problem for de som ikke er vant til at anvende et terminalvindue (Kommando-prompt eller Xterm). Jeg ved ikke om der er videre mange LaTeX-specikke editorer som giver een mulighed for at kre BibTEX p en anden l end hoveddokumentet, bare ved tryk p en knap. Vi vil kigge lidt p de to frste pakker. Fordele og ulemper kan ses i Tabel 8.1.
Brug af pakken multibib
multibib

Hele ideen bag multibib er at man til hvert emne nu i stedet genererer citeringsmakroer specielt til dette emne. Dette har den fordel at man direkte i kildekoden kan se hvad citeringen henviser til.

206
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

Brug af pakken multibib

Tabel 8.1: Fordele og ulemper ved pakkerne multibib og bibtopic.


multibib bibtopic

Fordele

Krver kun en enkelt .bib-l. Nemt at se i kildekoden hvad der hrer til hvor.

Kan nemt tilfjes et eksisterende dokument. Krver blot at at man laver nye .bib-ler. Spndende muligheder for at kunne opdele i citerede og ikke citerede vrker indenfor hvert emne.

Ulemper

Besvrligt at tilfje et eksisterende dokument, da citeringer skal skrives om.

Hvert emne skal i hver sin .bibl. Hvilket er besvrligt hvis man har mange indgange. Har man en artikel af samme forfatter, i samme r, min inden for to forskellige emner, s vil man ikke automatisk f tilfjet bogstaver til rstallet, idet behandlingen af de to emner ikke kender noget til hinanden.

En ulempe ved alle konstruktionerne til at lave emneopdelte litteraturlister er dog at hvis, man anvender forfatter-r systemet og har to forskellige citeringer af samme forfatter i samme r men i forskellige emner, s vil der ikke automatisk blive sat et bogstav p rstallet. Dette skyldes naturligvis at hver litteraturliste behandles hver for sig og kender ikke til hinandens indhold. Heldigvis er det de frreste som lber ind i dette problem.
Sidebemrkning 8.10.

Man starter med at denere sine emner via


\newcites{

liste af prexer }margliste af overskrifter

\newcites

Et eksempel p dette kunne vre:


\newcite{sec}{{Sekundr litteratur}}

Eksempel 8.40

Dette laver s nogle nye makroer key } \nocitesec{ keys }


\citesec{ \bibliographystylesec{

stil } \bibliographysec{ bib-l }

Som man skal anvende i stedet for \cite eller \nocite for at fylde materiale i den sekundre litteraturliste. Den primre litteraturliste kan s samtidigt fyldes via \cite og \nocite. Lad os se et eksempel.

207
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste

Eksempel 8.41

\usepackage{natbib} \usepackage{multibib} \newcites{sec}{Sekundr litteratur}


slut preamble

bla bla jf. \cite{Dror00b} og \cite{Ahr02}. Alternativt kan man se \citesec{Lawler76}. \bibliographystyle{abbrvnat} \bibliography{testbib} \bibliographystylesec{abbrvnat} \bibliographysec{testbib}

bla bla jf. Dror and Haouari [2000] og Ahr and Reinelt [2002]. Alternativt kan man se Lawler [1976].

Litteratur
D. Ahr and G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. In R. Mhring and R. Raman, editors, Lecture Notes in Computer Science, volume 2460 of Lecture Notes in Computer Science, pages 6474. Springer Verlag, Berlin, 2002. M. Dror and M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415436, 2000.

Sekundr litteratur
E. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.

Der er den lille hage at de genererede udgaver af \bibliographystyle, her \bibliographystylesec, skal anvendes i selve teksten. Anvendes de i preamblen giver det en BibTEX-fejl p hoveddokumentet.
Sidebemrkning 8.11.

Med pakken multibib er proceduren alts:


latex master bibtex master bibtex X latex master latex master

X { liste af prexer }

For yderligere information, se Hansen (2004).


Kort om bibtopic
bibtopic

Pakken bibtopic gr helt en anden vej end multibib. Her har man i stedet: (a) En specik .bib-l for hvert emne. (b) Hver .bib-l skal indlses gennem et specielt environment hver for sig. (c) Hvert environment laver en ny l (master1, master2,. . . ) hvorp man kan kre BibTEX. (d) I hvert environment skal man selv specicere hvad man nsker at f trykt: (i) De ting fra denne .bib-l som faktisk er citeret.
208
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

Kort om bibtopic

(ii) De som ikke er (disse to kan gres separat fra hinanden sledes man kan stte en overskrift i mellem). (iii) Eller, printe hele indholdet af .bib-len. For detaljer henvises man til Ulrich (2006). Men her er et eksempel.
\usepackage{bibtopic}
slut preamble

Eksempel 8.42

\cite{Ahr02}, \cite{Lawler76} og noget som er alternativt \cite{texbytopic}. \begin{btSect}[alpha]{testbib} \section{Citerede vrker} \btPrintCited \section{Ikke citerede vrker} \btPrintNotCited \end{btSect} \begin{btSect}[plain]{minbib} \section{Alternativt} \btPrintCited \end{btSect}

[AR02], [Law76] og noget som er alternativt [1].

Citerede vrker

[AR02] D. Ahr and G. Reinelt. New heuristics and lower bounds for the min-max k-Chinese postman problem. In R. Mhring and R. Raman, editors, Lecture Notes in Computer Science, volume 2460 of Lecture Notes in Computer Science, pages 6474. Springer Verlag, Berlin, 2002. [Law76] E.L. Lawler. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.

Ikke citerede vrker

[DH00] M. Dror and M. Haouari. Generalized Steiner problems and other variants. Journal of Combinatorial Optimization, 4:415436, 2000.

Alternativt

[1] Victor Eijkhout. TEX by TopicA TEXnicians Reference. Addison-Wesley, 2001.

Makroerne af interesse er:


\btPrintCited \btPrintNotCited \btPrintAll \begin{btSect}[ \end{btSect}

bib stil ]{ bib-l } indhold som i Eksempel 8.42

Forklaringer ndes iUlrich (2006). Har man brug for f.eks. at tage alle artikler ud fra sin .bib-l (og len er lidt for lang til at man kan overskue det i sin editor) s kan programmet jabref anbefales, se afsnit 8.8.
209
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

8. Konstruktion af litteraturliste

8.8

Hndtering af referencer databaser

Normalt har man oftest ikke s vildt mange indgange i sin BibTEX-databasel, s man kan sagtens styre denne med en almindelig tekst editor. Men er man i den situation at man har rigtigt mange indgange eller mske har brug for at konvertere fra et andet bibliogra format til BibTEX-formatet, s fr man brug for lidt andre programmer.
Jabref
jabref

Det program de este anbefaler er jabref, som er et java program som derfor krer p alle platforme bare man har Java installeret. JabRef kan downloades (gratis) fra http://jabref.sourceforge.net/. Personligt har jeg ikke den store erfaring med programmet, men de gange jeg har testet det, har mit indtryk vret at det er meget nemt og intuitivt at anvende. Desuden kan programmet importere fra andre forskellige citeringssystemer.
RefWorks

RefWorks er et (kommercielt) webbaseret, platformsuafhngigt produkt til at hndtere referencer og lignende. Selve vrktjet bestr af en konto hos RefWorks og her importerer man s sine artikler, bger etc. som man nder i forskellige databaser. Produktet indeholder ogs forskellige features som s kan anvendes til citeringer i Word. A Det vi, som L TEX-brugere er mest interesseret i er: (i) Man kan importere bibliogrask data fra alverdens forskellige databaser, specielt behver det ikke vre matematik relaterede databaser. (ii) De este ikke matematiske databaser giver naturligvis ikke publikations data ud i BibTEX-format, men ofte i f.eks. EndNote format eller lignende. RefWorks har intet problem med at importere dette. (iii) Ingen problemer i at importere eksisterende BibTEX-ler, eller copynpaste BibTEX-kode direkte ind i RefWorks. Og s piece de resistance: RefWorks kan eksportere til BibTEX-format!
A Det vil sige, er man L TEX-bruger og arbejder men i et fag hvor der traditionelt ikke A tilbydes bibliogrask data i et format L TEX kan hndtere, s kan RefWorks anvendes A til at konvertere denne data til BibTEX-format, sledes man kan anvende data i L TEX. RefWorks er som sagt et kommercielt produkt, men mange hjere danske lreanstalter tilbyder deres studerende adgang til RefWorks, det gr AU for eksempel (gennem statsbiblioteket). Sprg hos dit lokale bibliotek om der er adgang til RefWorks. Man skal s registrere fra en computer p institutionens netvrk, herefter sker adgangen bare via brugernavn + password samt et group-id (en ekstra kode) og kan ske fra en hvilken som helst computer med en internet forbindelse og en browser. Her er et link til Statsbibliotekets informationer vedr. RefWorks

http://www.statsbiblioteket.dk/publ/RefWorks_In_general.html

210
Kapitlet er sidst opdateret 2010/11/02 01:18 (revision 742)

Biblatex

8.9

Biblatex

Fordelen ved brugen af BibTEX er selve opdelingen af data i databaselen, man kan stort set tilfje al den data man kan forestille sig, det er dog op til stilene at gre brug af denne data. Ulempen ved brugen af BibTEX er at det er meget svrt at ndre noget. Hvis outputtet fra BibTEX-stilen ikke helt passer med den konvension man nsker, s er det svrt at lave om p.11 Det er ikke noget man bare lige retter ved at tilfje noget i preamblen. Denne problematik er der mange som har kigget p, bl.a. Philipp Lehman som i 2006 pbegyndte arbejdet med biblatex, som er en pakke, kongurationsler samt en enkelt kongureringsstil til BibTEX.12 Ideen bag biblatex er at udnytte styrkerne A ved BibTEX (dvs. formatet) og kombinere dette med styrkerne ved L TEX (makroerne). P denne mde har Lehman skabt et system som kombinerer funktionaliteten af en A masse pakker til L TEX, samt en masse BibTEX-stile, men nu samlet i en enkelt enhed som kan kongureres i let tilgngelige kongurationsler eller via preamblen. BibTEX anvendes nu bare til at sortere data, samt hive data ud af databaselen (data omformes A til L TEX-makroer). Pr. februar 2010 udkom biblatex version 0.9. Forfatteren mener nu at interfacet er stabilt nok til at folk kan bruge det. Pakken er derfor blevet indlemmet i opdateringerne til MiKTeX 2.8 og TEX Live 2009. I en senere version af bogen vil vi begrnse behandlingen af den generelle bibtex en del og i stedet fokusere mere p biblatex for der er ikke nogen tvivl om at dette er fremtiden for citeringer i LaTeX.

biblatex

11 Sproget stilene er skrevet i, har man slet ikke lyst til at arbejde med. Se evt. Markey (2009). 12 Man arbejder p en variant af bibtex programmet, specielt til biblatex, kaldet biber. Den skulle vre

brugbar allerede nu, men er pt. meget svr at f installeret p Windows platformen.

211

Niende Kapitel

Mere om tekst
1

9.1

Lidt mere om afsnitsoverskrifter samt indholdsfortegnelsen

I afsnit 2.1 fortalte vi lidt om makroer til afsnitsoverskrifter samt til starten af kapitler. Samtidigt fortalte afsnit 2.6 om indholdsfortegnelsen. Vi vil lige komme med et par kommentarer. Det er ofte en fordel at man i alle overskrifter undgr orddeling s vidt det er muligt. Nogle klasser gr dette som standard (f.eks. memoir ) eller kan nemt kongureres til det, mens andre ikke gr (f.eks. article). I det sidste tilflde kan man fr hjlp via sectsty eller titlesec. P andre tidspunkter vil man gerne have delt en overskrift efter et bestemt ord. Dette er meget nemt via (man kan ogs anvende \\ i stedet for \newline)
\section{Tekst\newline mere tekst}

Ulempen ved dette er hvis man desuden ogs har en indholdsfortegnelse. Al teksten i de ustjernede makroer \section, \chapter etc. bliver ogs anvendt til TOCen (samt evt. anvendt til et sidehoved). Hvor det jo naturligvis bliver grimt hvis der pludselig er et linieskift. Lsningen p dette er allerede indbygget i overskriftkommandoerne, de har alle et valgfrit argument som s bliver skrevet til sidehovedet samt TOCen, i stedet for det obligatoriske argument, s vores eksempel fra fr bliver:
\section[Tekst mere tekst]{Tekst\newline mere tekst}

Eksempel 9.1

Mere formelt glder for alle makroerne nvnt i Tabel 2.1 at den fulde syntaks er
\section[

Eksempel 9.2

til indholdsfortegnenlse ]{ Titel }

I memoir -klassen har man endda to valgfri argumenter, som s styrer hhv. teksten til sidehovedet samt teksten til indholdsfortegnelsen.
Memoir.

9.1.1

Om appendix/bilag

Ordene appendiks og bilag henviser i denne sammenhng til det samme begreb. Appendikser kan laves p forskellig vis, men det mest almindelige sker ved at man indstter
\appendix
\appendix

i sin kode p det sted appendikset starter. Dette gr flgende


1 FiXme Note: mangler en start tekst til dette kapitel

213
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

Nulstiller hovedafsnitstlleren (chapter eller article). Laver om p udseendet af hovedafsnitstlleren, normalt kommer den nu til at fremst som store bogstaver. Anvendes der kapitler, erstattes ordet Kapitel med Bilag. Hvilket dog kan kongureres, se afsnit 9.4. Har man justeret tingene korrekt s kommer formelnumre til at fremst som f.eks. (A.3). I indholdsfortegnelsen (se f.eks. afsnit 2.6) markeres kapitler og appendices bare som numre og bogstaver. Ofte er det mere lsevenligt hvis der str Kapitel og Bilag. Anvendes memoir -klassen (hvilket er det vi anbefaler) s kan man heldigvis nemt kongurere den til det. Se Wilson (2007a) kapitel 3.
Memoir.
Eksempel 9.3
\renewcommand\cftchaptername{\chaptername~} \renewcommand\cftappendixname{\appendixname~}

Hvis man samtidigt gerne vil have en adskillelse i TOCen s man kan se at nu starter bilagene s kan man i ovennvnte scenarie (i.e. med memoir ) anvende
Eksempel 9.4
\appendix \appendixname

Navnet som indsttes styres via \appendixpagename og \appendixtocname. Da \appendix laver om p den mde \chapter nummereres p, s kan det vre et problem at vende tilbage med et almindeligt kapitel efter appendikserne/bilagene. I dette tilflde kan man i stedet for \appendix anvende environmentet appendices omkring alle bilagene som i
\begin{appendices} \include{bilag1} \include{bilag2} \include{bilag3} \end{appendices} \chapter{Noget andet}

appendices

Eksempel 9.5

Appendices til et kapitel


subappendices

Memoir-klassen har et subappendices environment som man kan pakke om nogle sektioner med under sektioner. Disse sektioner bliver s nummereret med store bogstaver, dvs. f.eks. sektion 1.A og undersektionen 1.A.1.
Bilag og appendiks

Husk i vrigt at \appendix kun br optrde n gang. Den nulstiller jo kapitel tlleren hver gang man anvender den, hvilket kunne betyde at man k op til ere Bilag A. Man kan dog sagtens argumentere for at anvende bde appendikser samt bilag. Vi har lavet en lngere forklaring vedrrende dette i afsnittet 13.5 p side p side 329.
Sidebemrkning 9.1.
214
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Fodnoter og endnotes/slutnoter

9.2
9.2.1

Fodnoter og endnotes/slutnoter
Mere om fodnoter

Fodnoter laves som tidligere nvnt (afsnit 2.5) med makroen \footnote{ tekst }. Desuden vil vi indskyde at skal man have fodnoter i f.eks. titel eller forfatter delen af \maketitle s anvender man ikke \footnote, men i stedet \thanks (som bare er en specielt kongureret fodnote). Der er dog forskellige situationer hvor fodnoter enten slet ikke kan indsttes direkte, eller hvor man br overveje om fodnoter er ndvendige. (i) Hvis man absolut nsker at have en fodnote i en overskrift (\chapter, \section, etc.) s br man anvende flgende syntaks (ellers ville fodnoten komme med i en eventuel header samt med i indholdsfortegnelsen).
\chapter[titel]{titel\footnote{en fodnote}}

Syntaksen er desuden omtalt i afsnit 9.1. (ii) I visse konstruktioner kan fodnoter slet ikke anvendes (teknisk set kan fodnoten ikke slippe ud). Som oftest kommer der slet ingen advarsel om at fodnoter ikke kan anvendes, de bliver bare vk, der kommer et nummer, men ikke nogen note. Som et eksempel har vi de gr kasser vi anvender om f.eks. bemrkninger. Disse er lavet med environmentet shaded (fra memoir -klassen/framed-pakken). Hvis man absolut skal have en fodnote (i mange tilflde er fodnoter overdige eller direkte irriterende for lseren), s kan man dele fodnoten op i en markr og selve teksten.
\footnotemark{} \footnotetext{ \footnotemark

Eksempel 9.6

({} for at den ikke skal spise et evt. efterflgende mellemrum)

\footnotemark \footnotetext

tekst }

placeres inden i konstruktionen hvori fodnoter ikke kan placeres direkte, og \footnotetext{ tekst } placeres efter konstruktionen. \footnotetext vil anvende den nuvrende vrdi af fodnotetlleren footnote, derfor skal man tage sine forholdsregler, se Eksempel 9.7. Bemrk at man desuden kan give begge makroer et valgfrit argument, hvor man kan angive nummeret der henvises til.
\begin{shaded} tekst\footnotemark, tekst\footnotemark{} tekst\footnotemark[\value{footnote}]. \end{shaded} \addtocounter{footnote}{-1} \footnotetext{A} \addtocounter{footnote}{1} \footnotetext{B}
1A 2B

tekst1 ,

tekst2

tekst2 .

Eksempel 9.7

Grunden til at pille ved footnote-tlleren p denne mde, er for at mindske muligheden for menneskelig-fejl. (iii) Et tredje yndet sted at placere fodnoter hvor de slet ikke hrer hjemme er i billedteksten eller teksten til en tabel, som yder. Dette br man slet ikke gre, s her vil vi slet ikke give nogen lsning. Skriv i stedet teksten om. Til enten konguration a fodnoternes udseende eller for at f langt mere avancerede fodnoter henvises til pakkerne footmisc og bigfoot. Isr den sidste giver mange nye muligheder, f.eks. muligheden for at anvende \verb (se afsnit 9.10) direkte i fodnoter,
215
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

footmisc bigfoot

9. Mere om tekst

footmisc bigfoot

noget som normalt ikke er muligt. Klassen memoir har nogle simple muligheder for kongurering af udseendet af fodnoterne, se Wilson (2010). Husk dog at anvender man f.eks. footmisc eller bigfoot s overskriver dette memoir -klassens egne fodnote metoder og kongureringer, sledes at disse ikke fungerer mere.
9.2.2 Endnotes/slutnoter

endnotes
\endnote \theendnotes

Hvis man anvender fodnoter rigtigt meget (f.eks. til at give ekstra information om et specielt emne) s kan det vre en bedre ide at anvende endnotes i stedet. Det er s at sige det samme som fodnoter, men teksten bliver i stedet bare opsamlet og skrevet til slut (lidt p samme mde som indholdsfortegnelsen er lavet). Til dette anvendes pakken endnotes og man fr de to mest almindelige makroer fra pakken:
\endnote{

tekst }

\theendnotes

Den frste makro anvendes som man ville med \footnote, mens den anden anvendes p det sted hvor man nsker at placere listen af endnotes. Lavagnino (2003) forklarer lidt mere om de makroer man kan anvende til kongurering. Nu er det jo sdan at man oftest anvender fodnoter, s man har sikkert skrevet sin tekst med \footnote og s er det jo er stort bvl at skulle rette hele teksten for at ndre det hele til endnotes. Men frygt ej, der er en nemmere mde. Omdener \footnote til at vre lig \endnote:
Eksempel 9.8
\let\footnote\endnote

Advarsel 9.2. Hvis man desuden anvender \maketitle og \thanks i sit dokument, da br konstruktionen fra Eksempel 9.8 frst laves efter \maketitle. Gr man ikke brug af \maketitle kan man sagtens placere konstruktionen i preamble.

Memoir-klassen har sine egne indbyggede slutnoter, kaldet pagenotes, se Wilson (2010).
9.3 Mere om orddeling

Orddelingen i TEX tager udgangspunkt i visse orddelingsmnstre som s bliver kompiA leret ind i L TEX-formaterne. Man vil normalt kunne se hvilke mnstre som er installeret i starten af .log-len. Da mnstrene skal kompileres ind i formaterne er det vigtigt A at man husker at f installeret de rigtige sprog nr man installerer L TEX. MiKTEX inkluderer f.eks. ikke danish som standard. Men det er ret nemt at kse. G til MiKTEX-menuen (Start Programmer . . . ) og vlg MiKTEX Options. Der vil man kunne nde en sprogopstning og formaterne skal s lige genkompileres, men det skulle MiKTEX gerne selv sprge om. Bemrk at ogs MacTEX og proTEXt (som bare er MiKTEX) heller ikke inkluderer dansk som standard. 2 FiXme Note: dette skal tjekkes
Sidebemrkning 9.3.

Man kan ret nemt se hvis de danske orddelingsmnstre mangler, bare overst et A dokument som anvende dansk babel og kig i loggen. Hvis L TEX er begyndt at tale om at den anvender dummy lang s har man ikke installeret de danske orddelingsmnstre.
216
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Babel og orddeling

For en sikkerhedsskyld minder vi om at man via indsttelse A af udvalgte \-er i et ord kan markere hvor man vil tillade at L TEX orddeler dette ord. A Husk altid at markere alle lovlige delepunkter i ordet p denne mde, s har L TEX noget AT X vil f.eks. orddelings\-algoritme at vlge i mellem. I standardkongurationen af L E betyde at der kun kan ske orddeling af dette ord mellem orddelings og algoritme. Husk derfor at markere alle orddelingspunkterne. Det skal bemrkes at man via en omkongurering kan opn at ovenstende ordA delingseksempel bare bliver en tilfjelse til de delingspunkter som L TEX selv nder. AT X, se Larsen (2006). 3 FiXme Note: Det er sikkert Se f.eks. Jrgen Larsens IMFUFA-L E en god ide direkte at hugge denne, med cadeau til JL naturligvis
Sidebemrkning 9.4.

Babel og orddeling

I afsnit 2.2 forklarede vi om brugen af \hyphenation, for at rekapitulere s tilbyder \hyphenation en metode hvor man globalt kan specicere hvordan man nsker at et ord skal orddeles. Man markerer stavelser via - (ikke med \-) og separerer listen med mellemrum. Desuden m man gerne have mange af disse kommandoer. Husk desuden at angiver man et ord i listen helt uden - s bliver dette ord alts slet ikke orddelt. Men hvad gr man nr man anvender ere sprog i samme dokument? Dette er faktisk meget nemt idet \hyphenation tilfjer orddelinger til det nuvrende sprog, s man skal i preamblen bare gre noget lignende dette:
\selectlanguage{danish}% bare for en sikkerhedsskyld \hyphenation{ord-de-lings-al-go-rit-me} \selectlanguage{english} \hyphenation{theo-rem-style} \selectlanguage{danish}

\hyphenation

Eksempel 9.9

Nr man har strre tekststykker hvor man nsker at anvende et andet sprog (herunder dette sprogs orddelingsmnstre) s kan man som allerede nvnt anvende \selectlanguage{ sprognavn }, som s skifter til et andet sprog, og man kan s skifte tilbage p samme mde. En anden mulighed er at anvende environmentet otherlanguage som har flgende syntaks
\begin{otherlanguage}{ \end{otherlanguage}

\selectlanguage

otherlanguage

sprog } her er der orddeling efter sproget sprog

Indenfor dette environment fr man s samme eekt som ved \selectlanguage, og ndringen glder kun frem til slutningen af environmentet. Der er ogs et otherlanguage*-environment som gr det samme, men her vil man ikke f ndret standardnavnene ved f.eks. tabeller, gurer eller kapitler. Hvis man har en dansk tekst hvori det indgr nogle ord fra et andet sprog som man gerne vil have orddelt efter dette andet sprog s kan man anvende flgende makro
\foreignlanguage{

sprog }{ tekst }

\foreignlanguage

Hvor sprog naturligvis er et af de sprog man har angivet som options til enten dokumentklassen eller til selve babel-pakken. For yderligere informationer om babel-systemet se Braams (2005).
217
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

Orddeling ved bindestreg og skrstreg


A I ord hvor der optrder bindestreg til L TEX ikke lave automatisk orddeling. Som forklaret i afsnit 2.2 er lsningen til dette, under dansk babel, at man i stedet for - anvender "-. Man har et tilsvarende problem ved /. Dette har Jrgen Larsen lst i Larsen (2006) via flgende konstruktion:
Eksempel 9.10
\makeatletter \declare@shorthand{danish}{"/}{\nobreak\discretionary{/}{}{/}\bbl@allowhyphens} \makeatother

Hvorefter man tilsvarende kan anvende "/ og dermed f orddeling i begge dele af et ord med skrstreg.
Mrkelige orddelinger

h-vor

P grund af en drlig kongurering af den danske opstning af babel kan man godt risikere at f orddelinger s som h-vor. Man kan afhjlpe dette ved at placere flgende i sin preamble efter man har indlst babel.
\renewcommand{\danishhyphenmins}{22}

Eksempel 9.11

Dette betyder at der ved deling skal vre mindst to tegn fr delingen og mindst to i slutningen. Det er disse vrdier de danske orddelingsmnstre er lavet med. (Babel-pakken stter vrdien 12, hvilket derfor ikke passer sammen med de danske orddelingsmnstre.)
Undg orddeling

\mbox \foreignlanguage

Har man et ord som orddeles, men det nsker man ikke, s kan man pakke den ind i en \mbox{ tekst }. Man kan desuden anvende \foreignlanguage sammen med sproget nohyphenation.
tekst tekst tekst tekst tekst orddelingsalgoritme tekst tekst tekst tekst tekst \foreignlanguage{nohyphenation}% {orddelingsalgoritme}

Eksempel 9.12

tekst tekst tekst tekst tekst orddelingsalgoritme tekst tekst tekst tekst tekst orddelingsalgoritme

Se desuden ushleft, ushright, \raggedleft, \raggedright, \RaggedLeft og \RaggedRight.


Teste efter sprog

Laver man sine egne makroer s kan det vre en fordel at kunne teste efter hvilket sprog som er taget i brug lige nu (forudsat dokumentet anvender babel). Til dette kan man anvende flgende konstruktion
\iflanguage{

sprognavn }{ Ja-kode }{ Nej-kode }

Hvis sprognavn er aktivt lige nu s udfres Ja-kode .


218
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

ndring af standardnavne kontrolleret af babel

9.4

ndring af standardnavne kontrolleret af babel


babel

Normalt lader man pakken babel om at styre standardnavnene som anvendes i dokumentet, s som gur, tabel, Kapitel, Bilag osv. Det er dog ikke altid man er helt tilfreds med det valg som er gjort. Eksempelvis nsker mange at appendikser hedder Appendiks i stedet for Bilag. Navnene er listet i Tabel 9.1.
A Tabel 9.1: Standardnavne i L TEX (engelske)

\abstractname \alsoname \appendixname \bibname \chaptername \contentsname \figurename

Abstract see alsoa Appendix Bibliographyb Chapterc Contents Figure

\indexname \listfigurename \listtablename \partname \refname \seename \tablename

Index List of Figures List of Tables Part Referencesd seee Table

a Kommer normalt fra makeidx-pakken eller memoir -klassen. Anvendes i indekser. b Anvendes til overskriften af litteraturlisten i klasser som har kapitler, f.eks. report , book eller memoir . c Kun deneret i klasser som understtter \chapter. Dvs. f.eks. report , book eller memoir . d Overskriften til litteraturlisten i klassen article. e Kommer normalt fra makeidx-pakken eller memoir -klassen. Anvendes i indekser.

Disse navne kan man s ndre via \renewcommand, men pga. brugen af babel skal man gre det p en speciel mde (bemrk det frste s i \captionsdanish).
\addto\captionsdanish{ \renewcommand\appendixname{Appendiks} \renewcommand\contentsname{Indholdsfortegnelse} }

\addto \captionsdanish

Kodetip 9.1

Man skal naturligvis anvende \captions sprog nr man anvender andre sprog og ovenstende skal naturligvis placeres i preamblen efter babel-pakken. Makroen \addto kan ogs anvendes til andre makroer.
\usepackage[danish]{babel} \addto\makronavn{

tekst }

tilfjer tekst i slutningen af denitionen af \makronavn. Klassen memoir har en tilsvarende makro som kan tilfje kode i begge ender af en given makro.
9.5 Tekstfyld Lorem ipsum

Indenfor typograen anvendes Lorem ipsum som en form for fyldtekst nr man f.eks. skal prsentere et grask design (hvor indholdet ikke er vigtigt), se
http://en.wikipedia.org/wiki/Lipsum
A I L TEX kan vi f.eks. anvende en af Lorem ipsum afsnittene til at fremvise hvordan en font ser ud, eller man kan anvende den i sin tekst som fyld indtil man fr skrevet det indhold som skal st lige der, f.eks. indledningen til sit speciale. Pakken lipsum giver adgang til 150 Lorem ipsum afsnit, syntaksen er

lipsum

219
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

\lipsum

\lipsum[

start nummer - slut nummer ] nummer ]

eller
\lipsum[ \lipsum
Eksempel 9.13

er det samme som \lipsum[1-7].


slut preamble

\usepackage{lipsum}

\lipsum[31]

Sed consequat tellus et tortor. Ut tempor laoreet quam. Nullam id wisi a libero tristique semper. Nullam nisl massa, rutrum ut, egestas semper, mollis id, leo. Nulla ac massa eu risus blandit mattis. Mauris ut nunc. In hac habitasse platea dictumst. Aliquam eget tortor. Quisque dapibus pede in erat. Nunc enim. In dui nulla, commodo at, consectetuer nec, malesuada nec, elit. Aliquam ornare tellus eu urna. Sed nec metus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

Man skal naturligvis ikke forvente at orddelingen fungerer for denne tekst. En speciel ting ved lipsum er at alle teksterne afsluttes med hvad der svarer til en blank linie, i.e. de er afsnit hver for sig. Det er ikke altid at man nsker dette nr man er ved at teste et design. Et alternativ til lipsum er at anvende pakken blindtext som giver en lignenden funktionalitet, men p en anderledes og lidt mere kongurerbar mde.
9.6 Fontrelaterede emner

A Det er ret vigtigt at man forstr at der i L TEX faktisk er to fontsystemer i spil. Et til den almindelige tekst og et til matematikken. Udskifter man den ene, har man alts ikke udskiftet den anden. Der ndes forskellige pakker som kan skifte tekstfonten, men anvender man en af disse og samtidigt skriver noget matematik, s vil denne matematik stadigvk vre i standardskrifttypen Computer Modern. Dette er ofte ikke videre pnt, s det anbefales derfor, at nr man skifter fonten og man ved man har brug for matematik i dokumentet, s vlg en skrifttype som inkluderer en passende fontopstning til matematikken.

9.6.1

Fontvalg med matematiksupport

A Som allerede nvnt deler L TEX fontene op i to dele: Tekst og matematik. Hvilket betyder at man kan skifte tekstfonten men ikke matematikfonten. Dette kan have ret negative konsekvenser, hvis f.eks. den nye tekstfont ikke harmonerer srligt godt sammen med Computer Modern (som jo er vores standardfont). En anden ting man skal vre opmrksom p er at der ved mange af fontene er tale om skaldte kloner, dvs. fonte som er kraftigt inspirerede af en given font, men som har A et andet navn i virkeligheden. Et eksempel p dette er at Times fonten i L TEX faktisk hedder Nimbus. Fontene vi enten vil vise eksempler p, eller henviser til er alle frittilgngelige. Dvs. de kan legalt hentes p nettet uden betaling. En smart oversigt over frittilgngelige fonte (visse med matematiksupport) kan ses p http://www.tug.dk/FontCatalogue/. Stor hyldest til Palle Jrgensen for at have samlet kataloget. Sampleteksten som er anvendt til alle eksemplerne er:

220
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Computer Modern
almindelig tekst, \textit{kursivt}, \textsf{sans serif}, \textbf{fed skrift}, \textsc{Small Caps} \[ x\in\mathbb{R}, c\in\mathcal{C} \quad \sum \int_0^1 f(x)\, dx \] $\alpha\beta\eta\Theta,\zeta,\xi$, $Y$ vs. $\Upsilon$, $v$ vs. $\nu$, $\mathbf{ABC}$, $\bm{abc}$, $\bm{\alpha\beta\gamma}$

Eksempel 9.14

Pakkerne som er anvendt til alle eksemplerne er inputenc, babel, amsmath, amssymb og bm, for overskueligheden vises disse ikke i eksemplerne. Bemrk desuden at for at spare plads er visse lngder blevet ndret. Prveteksten er valgt for at vise nogle forskellige ting: (a) Forskellige udgaver til almindelig tekst, (b) lidt matematik og nogle grske bogstaver, (c) nogle fede symboler, samt (d) nogle symboler som kan give problemer i visse skrifttyper. I forbindelse med det sidste punkt s er det kursivt v versus det grske symbol (\nu), idet disse ofte ligner hinanden. Det er (\zeta) og (\xi) samt kursivt Y versus det store grske symbol (\Upsilon).
Sidebemrkning 9.5.

Visse af de fonte vi viser her, er mske ikke med i en standard A L TEX-installation. Fontene vil s kunne fs via ctan. Med hensyn til f.eks. TEX Live (som er det jeg bruger) s er Utopia og Fourier fontene f.eks. ikke med i distributionen, hvilket skyldes licensregler. Se eventuelt http://www.tug.org/fonts/, isr vedrrende scriptet getnonfreefonts, som kan anvendes til at installere LuxiMono , Garamond og Utopia.
Sidebemrkning 9.6.

getnonfreefonts

Computer Modern
A Dette er standardskrifttypen i L TEX.
Eksempel 9.15

almindelig tekst, kursivt, sans serif, fed skrift, Small Caps


1

x R, c C , , , Y vs. , v vs. , ABC, abc,

f (x) dx
0

Latin Modern

Latin Modern er en ret ny font, som er bygget over Computer Modern. Det er meningen A at denne font med tiden skal ase CM som standardfonten i L TEX. Den umiddelbare fordel ved at avnende Latin Modern frem for f.eks. almindelig Computer Modern, A er at lerne kommer til at fylde mindre. De este L TEX-distributioner anvender den skaldte CM-super skrifttype som standard, denne font er fremstillet p en utraditionel mde og fylder derfor en hel del. Latin Modern er lavet fra bunden og fylder derfor langt mindre.
\usepackage{lmodern}

Displaydelen af eksempel 9.16 ndes p nste side 221


Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Eksempel 9.16

9. Mere om tekst
Eksempel 9.16 fortsat

almindelig tekst, kursivt, sans serif, fed skrift, Small Caps , , , Y vs. , v vs. , ABC, abc, x R, c C
1 0

f (x) dx

Sidder man p MAC og anvender editoren TeXShop, s vil lmodern-pakken ogs hjlpe. S vil teksten nemlig blive meget klarere i TeXShops indbyggede fremviser. Det skyldes vist noget med de installerede fonte i MacTeX eller lignende.
Tip 9.7.

Times

Bemrk jf. diskussionen ovenfor at man ikke anvender pakken times (den skifter kun tekstfonten, ikke matematikfonten), men i stedet mathptmx og ogs indeholder denitioner til matematikken.
Eksempel 9.17
\usepackage{mathptmx}

almindelig tekst, kursivt, sans serif, fed skrift, S MALL C APS

, , , Y vs. , v vs. , ABC, abc,

x R, c C

f (x) dx

Times matematikfonten har den ulempe at den har slet ingen fede symboler s her m alt simuleres via \bm.
Palatino

mathpazo

nsker man palatino som tekst- og matematikfont, s har man umiddelbart to muligheder, enten via pakken mathpazo som anvender Pazo fontene til matematik.4 Bemrk ivrigt den ret s bizarre konvention ved Y versus \Upsilon.
\usepackage{mathpazo}

Eksempel 9.18

almindelig tekst, kursivt, sans serif, fed skrift, S MALL C APS , , , Y vs. , v vs. , ABC, abc, x R, c C

f ( x ) dx

eulervm

Den anden mulighed er Euler-fontene (eulervm) som egentlig er matematikfonte, s her skal man selv huske at skifte tekstfonten.
\usepackage{palatino,eulervm}

Eksempel 9.19

Displaydelen af eksempel 9.19 ndes p nste side


4 FiXme Note: mathpazo har desuden nogle options man mske kunne bruge til noget

222
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Utopia og fourier

almindelig tekst, kursivt, sans serif, fed skrift, S MALL C APS , , , Y vs. , v vs. , ABC, abc, x R, c C
1 0

f(x) dx

Eksempel 9.19 fortsat

Utopia og fourier

Dette er fonten som er anvendt i denne bog. Utopia er tekstfonten mens Fourier anvendes til matematikken. Der er tale om en mrkere font i slgt med Palatino eller Times. Fourier fonten er frit tilgngeligt mens man kan hente Utopia fra ctan.
\usepackage{fourier} \usepackage[T1]{fontenc}

Eksempel 9.20

almindelig tekst, kursivt, sans serif, fed skrift, S MALL C APS , , , Y vs. , v vs. , ABC, abc, x R, c C
1 0

f (x) d x

Den nuvrende version af Fourier opstningen indeholder en spjs lille fejl som gerne skulle blive kset p et eller andet tidspunkt. Fejlen er at \Big( og \bigg( giver den samme strrelse parentes. Et muligt ks er at tilfje flgende efter man indlser fourier-pakken (x fra Morten Hgholm):
Sidebemrkning 9.8.
\makeatletter \AtBeginDocument{% \@ifpackageloaded{amsmath}{ \def\bBigg@#1#2{% {\@mathmeasure\z@{\nulldelimiterspace\z@}% {\delimiterfactor=1000\relax \left#2\vcenter to#1\big@size{}\right.}% \box\z@}}}{ \PackageError{master}{Are you kidding, you're not using amsmath?!}{} }} \makeatother

Eksempel 9.21

New Century Schoolbook og fourier

Mere eller mindre som ovenfor, her bare med New Century Schoolbook som tekstfont suppleret med Fourier til matematik.
\usepackage{fouriernc} \usepackage[T1]{fontenc}

Eksempel 9.22

almindelig tekst, kursivt, sans serif, fed skrift, S MALL C APS


, , , Y vs. , v vs. , ABC, abc,

x R, c C

f ( x) dx

223
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

Garamond
mathdesign

Pakken mathdesign inkluderer en strre samling af matematikfonte samt support for forskellige fonte, f.eks. en Garamond variant. Fontene skal igen hentes fra ctan.
\usepackage[urw-garamond]{mathdesign} \usepackage[T1]{fontenc}

Eksempel 9.23

almindelig tekst, kursivt, sans serif, fed skrift, SMALL CAPS x ,c


1 0

f (x) d x

, , , Y vs. , v vs. , ABC, abc,

Concrete

Dette er ligesom Computer Modern en font designet af Donald Knuth suppleret med nye matematikfonte. Bemrk at fonten i sig selv ikke ndes i fed. For yderligere information se Vieth (1999).
Eksempel 9.24
\usepackage{concmath} \usepackage[T1]{fontenc}

almindelig tekst, kursivt, sans serif, fed skrift, Small Caps

vs.

, vs.

R
, ABC, abc,

dvipng

Str man lige og skal bruge et billede af en formel til en hjemmeside, s kan denne font anbefales sammen med programmet dvipng (som i det mindste flger med A L TEX-distributionen TEX Live).
Tip 9.9.
dvipng -M0 -T tight -x 1200 fil.dvi

Dette vil tage hver af siderne i fil.dvi og lave den om til et png-billede.

9.6.2

Et par sans-serif skrifttyper

Flgende er et par muligheder nr det angr sans-serif fonte, dvs. fonte uden fodtegn (de skaldte serier). Igen kan man nde eksempler via Palles oversigt, http://www. tug.dk/FontCatalogue/. Flles for disse pakker er at de kun ndrer ved sans serif fonten, dvs. \textsf og \sffamily.
Computer Modern sans serif
Eksempel 9.25
% standard sans serif font
slut preamble

\sffamily Noget tekst \textbf{tekst} \textit{tekst} \textbf{\textit{tekst}}

Noget tekst tekst tekst tekst

Denne sampletekst anvendes desuden i de to nste eksempler.


224
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Helvetika klon

Helvetika klon

Visse fonte har en ret stor x-hjde i forhold til den tekstfont man har besluttet sig for at gre brug af. Her har pakkerne ofte en option som hedder scaled som kan anvende til at skalere fonten med.
\usepackage[scaled=0.85]{helvet}

Noget tekst tekst tekst tekst

Eksempel 9.26

Bera sans
\usepackage[scaled]{berasans} \usepackage[T1]{fontenc}

Noget tekst tekst tekst tekst

Eksempel 9.27

9.6.3

Fast-bredde skrifttype (skrivemaskinefont)

Fast-bredde skrifttype kaldes desuden ofte monospace- eller typewriter-font. En sdan skrifttype anvendes oftest til at fremvise programkode eller nr man vil lave ordret (verbatim) fremvisning af noget ekstern tekst som f.eks. en udskrift fra SAS. A Computer Modern (som er L TEXs standard font) har en pn fast-bredde font, som desvrre ikke ndes i fed, hvilket er lidt en skam. Man har i stedet visse andre muligheder.
Computer Modern Typewriter
% standard font
slut preamble

Eksempel 9.28

\ttfamily Tekstilfabrikant \\ \textbf{tekstilfabrikant}\\ \textit{tekstilfabrikant}

Tekstilfabrikant tekstilfabrikant tekstilfabrikant

Vi vil anvende denne tekst i de flgende eksempler.


TX Typewriter

Denne kan vre et godt alternativ til Computer Modern Typewriter, som faktisk ogs har en fed udgave.
\renewcommand\ttdefault{txtt}

Tekstilfabrikant tekstilfabrikant tekstilfabrikant

Eksempel 9.29

LuxiMono

Denne font er anvendt som fastbredde font i denne bog. Den passer godt sammen med mrke fonte s som Palatino, Times eller Utopia.
\usepackage[scaled]{luximono} \usepackage[T1]{fontenc}

Tekstilfabrikant tekstilfabrikant tekstilfabrikant

Eksempel 9.30

Det er meget vigtigt at man husker \usepackage[T1]{fontenc}. P grund af licensen skal LuxiMono installeres direkte fra ctan.
225
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst
BeraMono
Eksempel 9.31

\usepackage[scaled]{beramono} \usepackage[T1]{fontenc}

Tekstilfabrikant tekstilfabrikant tekstilfabrikant

9.6.4

Vilkrlig fontstrrelse

A Vi har allerede set (afsnit 2.3) at L TEX har nogle forskellige makroer som lokalt kan ndre fontstrrelsen. Der kan dog vre situationer (som f.eks. p forsider) hvor man kan have brug for at kunne anvende helt brugerspecikke fontstrrelser. A I L TEX styrer man dette med flgende konstruktion
\fontsize \selectfont

\fontsize{

strrelse }{ baselineskip }\selectfont

hvor baselineskip er linieafstanden man nsker i denne strrelse. Af tekniske rsager, vil det ofte vre ndvendigt, at man srger for at anvende pakken fix-cm nr man nsker vilkrlige fontstrrelser.
Sidebemrkning 9.10.
x-cm

lmodern
Eksempel 9.32

Desuden vil det vre en god ide at anvende Type 1 fonte (ogs kaldet outline-fonte A eller PostScript fonte). De este L TEX-installationer anvender i dag denne type fonte som standard. For Computer Moderns vedkommende anvendes fonten CM-Super, men A man kan jo vre s uheldig at denne ikke er en del af ens egen L TEX-installation, i s fald kan man anvende pakken lmodern som erstatning.
\usepackage{fix-cm}
slut preamble

\fontsize{3cm}{4cm}\selectfont Stor font

Stor font

Denne fontstrrelsesndring vil s vre gldende lokalt som ved de mere almindelige makroer, som f.eks. \large, eller frem til nste \normalsize. At ndre tekstfontstrrelsen (og tilsvarende for matematik) er ikke helt nemt, og det anbefales ikke, med mindre det er bydende ndvendigt.
9.6.5 Strre linieafstand

A Da de este dokumentklasser er designet til Computer Modern fonten (L TEXs standardfont) kan det ved visse tekstfonte vre en god ide at man forger linieafstanden en lille smule. Dette gres ved, i preamblen, at placere
\linespread

\linespread{

faktor }

F.eks. \linespread{1.033}.
Sidebemrkning 9.11.

Hvis man anvender \linespread i selve teksten, s skal det


Fortsttes p nste side

ske via

5 FiXme Note: br skrives om, begrundelsen er ikke helt korrekt

226
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

At pille ved afstanden mellem bogstaver (letterspacing)

\linespread{ \selectfont

faktor }

den ekstra linie skal med for at aktivere ndringen. Til korrekturlsning kan det desuden vre en rar ting at kunne printe vrket med dobbelt linieafstand (s man nemmere kan skrive rettelser over teksten). Dette kan hurtigt opnes med
\linespread{1.4}

i preamblen. Ved indlevering af artikler til peer review, kan dobbelt linieafstand ogs vre et krav fra forlaget.
\linespread{1.3}
slut preamble

Eksempel 9.33

Eksempel 9.34

\small \lipsum[13]

Aliquam lectus. Vivamus leo. Quisque ornare tellus ullamcorper nulla. Mauris porttitor pharetra tortor. Sed fringilla justo sed mauris. Mauris tellus. Sed non leo. Nullam elementum, magna in cursus sodales, augue est scelerisque sapien, venenatis congue nulla arcu et pede. Ut suscipit enim vel sapien. Donec congue. Maecenas urna mi, suscipit in, placerat ut, vestibulum ut, massa. Fusce ultrices nulla et nisl.

Man br aldrig aevere en tekst i dobbeltlinieafstand. Det er ikke srligt lsevenligt og s er det spild af papir. Se evt. diskussionen p http://www.tex.ac.uk/cgi-bin/ texfaq2html?label=linespace. Er man kommet i den uheldige situation, at man er tvunget til at have en stor og grim linieafstand anbefales det at man anvender pakken setspace. Yderligere behandling af denne pakke ligger udenfor rammerne af denne bog, se Tobin (2000) for yderligere information. Igen har memoir -klassen direkte indlejret funktionaliteten af denne pakke. Dog under lidt andre navne og med en lidt anden (bedre?) implementation, se Wilson (2010) afsnit 3.3.2.
Memoir.

setspace

9.6.6
6

At pille ved afstanden mellem bogstaver (letterspacing)

Indenfor typograen har man p engelsk begrebet letterspace, som omhandler det at det til tider kan vre en god ide at forge afstanden mellem bogstaverne i et ord. Dette kan f.eks. anvendes til at fremhve ord, til overskrifter eller specielt til forsider. Til dette kan man anvende pakken soul. Vi vil ikke kommer nrmere ind p brugen af pakken eller de faldgruber der er, henviser i stedet til Franz (2003). Vi anvender senere denne pakke til at lave Louises forside, se gur 13.2. Pakken soul kan ud over at pille ved mellemrummet mellem bogstaver ogs tilbyde understregning af tekst som faktisk kan fortstte over en linieombrydning.7 Her er dog et simpelt eksempel.
6 FiXme Note: Tjek ogs\caps 7 Understregning af tekst er dog generelt noget som br forblive i hndskrevne noter. De har ikke noget at

letterspace

soul

gre i trykt tekst.

227
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst
Eksempel 9.35
\usepackage{soul}
slut preamble

\so{dette er en tekst} \scshape{\so{dette er en tekst}}

dette er en tekst dette er en tekst

En ting som det kan vre en god ide at anvende fra soul er muligheden for selv at denere en \so-lignende makro (de tre sidste argumenter skal alle vre lngder):
\sodef

\sodef\ {

makronavn {}{ mellem bogstaver }% indre ordmellemrum }{ ydre ordmellemrum }

S kan man selv justere p lngderne. Det er en god ide at specicere de tre obligatoriske lngder i enheden em, thi denne skaleres automatisk sammen med den nuvrende fontstrrelse. At lave en makro via ovenstende konstruktion kan vre ndvendig f.eks. til forsider, thi selve \so-makroen vil efterlade mellemrum p steder hvor det ikke er sjovt (efter argumentet), hvorved centering ser underlig ud.
9.7
itemize enumerate description

Lister

A Vi har tidligere set de tre standard lister i L TEX: itemize, enumerate og description. Vi har desuden set at med pakken enumerate kan man selv f lov til at styre udseendet af nummereringen. I dette afsnit vil vi frst se lidt p pakken paralist som fortstter stilen fra enumerate-pakken med yderligere lister. Dette efterflges af et kig p en nyere pakke (enumitem) som egentlig gr tilbage til de tre basale lister, men her gres disse ekstremt kongurerbare.

Sidebemrkning 9.12.

Et par smting: (a) Lister kan generelt kun nestes re lag. Dvs. man kan starter lister i op til re niveauer, hvilket er nok for de este. (b) Hver af de re lag i enumerate har deres egen tller, i rkkeflge er de: enumi, enumii, enumiii og enumiv. Dvs. i verste niveau anvendes enumi. Denne viden kan f.eks. anvendes til at justere p hvilket nummer en given liste skal starte ved.

Memoir-klassen har et par smarte makroer til at formindske den vertikale afstand mellem punkterne i en liste. De anvendes indeni en given liste, eller kan angives globalt (med et lidt anderledes navn), se makroerne \firmlist, \tightlist, \firmlists og \tightlists. Personligt anbefaler jeg dog brugen af enumitem hvis man nsker at kongurere listerne, denne pakke beskriver vi i afsnit 9.7.2.
Memoir.

\paragraph

Lige et godt rd: Nr man f.eks. er ved at skrive et bevis med en masse lngere punkter, s br man lade vre med at skrive dette som en liste. Det er nt nok hvis listen ikke er s lang, men hvis den fylder ere sider, s er det spild af plads (husk at punkterne i standardlisterne rykkes et stykke ind, s de har alts en strre venstre margin). Her er det bedre simpelt hen at anvende nye afsnit. Enten starter man et nyt afsnit, med noget lignende: I tilfldet . . . , eller hvis hvert punkt har et bestemt nummer/overskrift s kan man med fordel anvende \paragraph{ tekst }. Denne makro har den fordel
Sidebemrkning 9.13.

Fortsttes p nste side 228


Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Flere lister med paralist-pakken

at den efterlader lidt afstand til den frliggende tekst og selve teksten efter starter lige efter { tekst }.
\begin{proof} For at bevise (1) og (2) tekst tekst tekst tekst tekst tekst tekst \paragraph{(1)} bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla \paragraph{(2)} bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla \end{proof}

Bevis. For at bevise (1) og (2) tekst tekst tekst tekst tekst tekst tekst (1) bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla (2) bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla

Eksempel 9.36

Personligt ville jeg nok lige pille lidt ved afstanden over \paragraph. I memoir -klassen er standard afstanden over \paragraph mindre end den er i article-klassen (som er anvendt til at lave eksemplet herover).

9.7.1

Flere lister med paralist-pakken

I afsnit 2.8 s vi at man med pakken enumerate kunne f en udvidet syntaks for enumerate-environmentet. En anden mulighed for at f samme ekstra funktionalitet er pakken paralist. Der er njagtigt samme syntaks som ved enumerate men nu kan man ogs give itemize et valgfrit argument.8 Man fr desuden ere ekstra environments. For mere information om paralist, se Schandl (2002).
Enumerate og itemize

paralist

Bare for at rekapitulere, s har begge af disse environments nu et valgfrit argument.


\usepackage{paralist}
slut preamble

Eksempel 9.37

\begin{enumerate}[(a)] \item tekst \item mere tekst \end{enumerate} \begin{itemize}[\ensuremath{\ast}] \item tekst \item mere tekst \end{itemize}

(a) tekst (b) mere tekst tekst mere tekst

Kompakte lister

Men pakken giver desuden ultra kompakte versioner af listerne, kaldet hhv. compactenum og compactitem. Meget anvendelige hvis man lider af pladsmangel, se Eksempel 9.38.

compactenum compactitem

8 Denne funktionalitet sammen med funktionaliteten fra enumerate-pakken, ndes allerede i memoir -

klassen.

229
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

Eksempel 9.38

\usepackage{paralist}
slut preamble

\begin{compactenum}[(a)] \item tekst \item mere tekst \end{compactenum} Tekst i mellem \begin{compactitem}[\ensuremath{\ast}] \item tekst \item mere tekst \end{compactitem} Tekst efter.

(a) tekst (b) mere tekst Tekst i mellem tekst mere tekst Tekst efter.

En lbende liste

inparaenum

Her menes en liste af typen (a) punkt 1, (b) punkt 2, . . . Dette kan man selvflgelig skrive pr. hndkraft, men fordelen er igen at man kan henvise direkte til nummeret. Man anvender her listen inparaenum, se Eksempel 9.39.
\usepackage{paralist}
slut preamble

Eksempel 9.39

Noget tekst gik sig en tur, og mdte \begin{inparaenum}[(i)] \item en hest, \item en nisse og \item noget den ikke vidste hvad var. \label{ukendtitem} \end{inparaenum} (\ref{ukendtitem}) viste sig senere at vre en Ubuntu installation.

Noget tekst gik sig en tur, og mdte (i) en hest, (ii) en nisse og (iii) noget den ikke vidste hvad var. (iii) viste sig senere at vre en Ubuntu installation.

9.7.2

Avancerede standard lister med enumitem-pakken

Der er et par kritikpunkter til de almindelige listekonstruktioner. (i) Da afstandsoplysningerne er hardkodet ind i denitionen af listerne, er det meget besvrligt efterflgende at rette disse parametre. Man kan rette p den vertikale afstand (se f.eks. \firmlist og \tightlist i Eksempel ??) mellem punkterne undervejs, men s heller ikke ret meget mere. (ii) Det er ret besvrligt at en reference til f.eks. (4) kun kommer ud som 4, man skal selv huske formateringen (og huske at rette alle steder hvis man senere ndrer format). (iii) Det er ogs ret forvirrende at man skal huske p at beskytte a, I etc. hvis man ikke nsker at de skal fortolkes i forbindelse med tllerformatering. (iv) Desuden har mange brug for muligheden for at slutte en nummereret liste, skrive noget tekst og s fortstte listen.
enumitem

Svaret p disse problemer kan man sige kom med Javier Bezos enumitem-pakke. Da den A er ret ny, skal man have en nyere L TEX installation for at have pakken, eller opdatere den fra ctan.
230
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Avancerede standard lister med enumitem-pakken

Advarsel 9.14.

Fr vi gr videre er der lige et par ting som vi gerne vil nvne. (a) Som vi skal se anvender enumitem en helt anden syntaks til at angive hvordan teksten til f.eks. enumerate skrives, i vrste fald kunne dette betyde at man skulle skrive sit dokument om hvis man nskede at anvende enumitem. Det er dog ikke s slemt, anvend
\usepackage[shortlabels]{enumerate}

s understttes ogs \begin{enumerate}[(i)]. (b) Bare for en god ordens skyld minder vi desuden om at enumitem (indtil videre) kun berrer enumerate, itemize og description. Man kan ogs denere sine egne lister af forskellig type. Man kan endda indlse pakken uden at den rrer ved standardlisterne, herefter man man s anvende pakken til at denere sine egne ekstra lister. Vi starter med et eksempel hvor man kan se hvad man f.eks. skal erstatte syntaksen [(I)] med.
\usepackage{enumitem}
slut preamble

Eksempel 9.40

enumerate itemize description

(I) Punkt 1 (II) Punkt 2 reference: (I)

Eksempel 9.41

\begin{enumerate}[label=(\Roman*)] \item Punkt 1\label{i} \item Punkt 2 \end{enumerate} reference: \ref{i}

Bemrk at formateringen af punktet automatisk bevares i referencen. I stedet for enumerate-pakkens syntaks hvor man skulle anvende 1, a, A, i eller I, skal man nu i stedet anvende henholdsvis \arabic*, \alph*, \Alph*, \roman* eller \Roman* (bemrk brugen af ). Hvilket bde giver bedre mening, men ogs fjerner behovet for at skulle beskytte tllerreprsentationen, sammenlign med Eksempel 2.32. Som nvnt vil referencen som standard gemme formateringen af tlleren. Dette kan vre uheldigt i visse sammenhnge, f.eks. hvis labelen skal skrives i fed, s nsker man sikkert ikke at referencer skal vre i fed. Dette styres af nglen ref, som s kan anvendes til helt at om kongurere udseendet af referencen, se de lettere urealistiske forslag i Eksempel 9.42.
\usepackage{enumitem}
slut preamble

\arabic* \alph* \Alph* \roman* \Roman*

ref

Eksempel 9.42

\begin{enumerate}[ label=\textbf{(\Alph*)}, ref=(--\Alph*--)] \item Punkt 1\label{a} \item Punkt 2 \end{enumerate} reference: \ref{a}

(A) Punkt 1 (B) Punkt 2 reference: (A)

Dvs. bde klagepunkt ((ii)) og ((iii)) p forrige side er der nemt taget hnd om. Man kan selv bestemme ved hvilket nummer en liste skal starte (ngleordet start), man kan endda styre justeringen af tlleren via ngleordet align (disse er normalt hjrestillet, sammenlign med Eksempel 9.42).

start align

231
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

Eksempel 9.43

\usepackage{enumitem}
slut preamble

\begin{enumerate}[label=\Roman*., start=5,align=left, ] \item Punkt 1 \item Punkt 2 \end{enumerate}

V. VI.

Punkt 1 Punkt 2

resume* noitemsep

Man kan desuden genstarte en liste via ngleordet resume* (igen version 2), hvis lige man skal skrive en bemrkning fr man gr videre med listen. Der er ogs en version uden , men den bevarer ikke formateringen. Ngleordet noitemsep kan anvendes til at fjerne den vertikale spacing.
\usepackage{enumitem}
slut preamble

Eksempel 9.44

\begin{enumerate}[label=(\alph*), noitemsep] \item Punkt 1 \item Punkt 2 \end{enumerate} Noget tekst imellem \begin{enumerate}[resume*] \item Punkt 3 \item Punkt 4 \end{enumerate}

(a) Punkt 1 (b) Punkt 2 Noget tekst imellem (c) Punkt 3 (d) Punkt 4

Lad os for en god ordens skyld ogs komme med et eksempel hvor vi ndrer ved den horsontale spacing.
Eksempel 9.45
\usepackage{enumitem}
slut preamble

1. Punkt 1 2. Punkt 2 Ny paragraf I 1

\begin{enumerate}[leftmargin=*] \item Punkt 1 \item Punkt 2 \end{enumerate} Ny paragraf \begin{enumerate}[leftmargin=*, labelindent=\parindent, label=\Roman*,widest=III, align=left ] \item 1 \item 2 \item 3 \end{enumerate} Tekst efter

II 2 III 3 Tekst efter

style
Eksempel 9.46

Bezos (2007) forklarer mere om hvordan den horisontale konguration fungerer, bemrk isr eksemplerne i afsnit 5. Lad os lige tage et eksempel med omkongurering af description.. Vi vil gerne have at hvis teksten vi beskriver, er for lang, s skal den st p en linie for sig selv, sledes at beskrivelsen begynder p linien under, hvis teksten er kort nok, skal beskrivelsen starte p samme linie. Dette sker via ngleordet style.
\usepackage{enumitem}
slut preamble

\begin{description}[style=nextline, leftmargin=3.5em] \item[kort] tekst tekst \item[noget lngere] tekst tekst \end{description}

kort

tekst tekst

noget lngere tekst tekst

Det bliver naturligvis ikke sjovt i lngden hvis man for hver anvendelse af enumerate-environmentet skal skrive en hel masse konguration. Dette er der ogs tnkt p.
232
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Avancerede standard lister med enumitem-pakken

niveau ]{ format } \setitemmize[ niveau ]{ format } \setdescription{ format } \setlist[ niveau ]{ format }
\setenumerate[

\setenumerate \setitemmize \setdescription \setlist

Disse kan anvendes til at angive standard kongurationer til de enkelte lister. \setlist vil pvirke alle tre lister, mens \setNavn kun pvirker den angivne liste. Dvs. nsker man at fjerne afstanden mellem punkterne i alle lister s skal man bare anvende:
\usepackage{enumitem} \setlist{noitemsep}

Eksempel 9.47

Da bde enumerate og itemize kan nestes opstr behovet for niveauer. Man kan s angive kongureringen af et givet niveau via det valgfri argument (angives via 1, 2, 3, 4).
\usepackage{enumitem} \setenumerate[1]{label=\arabic*.} \setenumerate[2]{label=(\emph{\alph*})}

Eksempel 9.48

Man kan jo s anvende disse kongurationsmuligheder til at lave sine egne lister med. Vi vil her lave en liste af denne type som kunne anvendes til at holde styr p ens trning. Af tekniske rsager anvender vi itemize som grundliste, se Eksempel 9.49.
\usepackage{enumitem,calc} \newenvironment{traening}[2][]{% \section*{#2} \begin{itemize}[labelwidth=\widthof{\textbf{Kommentar:}}, leftmargin=\widthof{\textbf{Kommentar:}}+\labelsep, font=\bfseries,align=left,noitemsep,#1] }{\end{itemize}} \newcommand\tid{\item[Tid:]} \newcommand\rute{\item[Rute:]} \newcommand\kommentar{\item[Kommentar:]} \newcommand\type{\item[Type:]}
slut preamble

Eksempel 9.49

\begin{traening}{2006/04/32} \tid 5 minutter (rekord!) \rute Klassisk maraton \kommentar Mega hurtigt,\\ nrmest fugleflugt \type Motoriseret flyvende genstand \end{traening}

2006/04/32
Tid: 5 minutter (rekord!) Rute: Klassisk maraton Kommentar: Mega hurtigt, nrmest fugleugt Type: Motoriseret yvende genstand

Kommentarer: 1. Vi anvender to argumenter til environmentet, da vi gerne via et valgfrit argument, ville kunne tilfje ekstra options til environmentet. Bare for alle tilfldes skyld.
233
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

2. \widthof fra calc-pakken, er meget rar til at kunne levere en lngde svarende A til bredden af en given tekst. Det er desvrre ikke i alle L TEX makroer man kan anvende den, kun dem som internt anvender \setlength. 3. Brugen af egendenerede shortcut makroer (som f.eks. \rute) til nemt at kunne lave de enkelte punkter.
Tip 9.15.
Eksempel 9.50
\setlist{ listparindent=\parindent, parsep=0pt, }

I denne bog har vi bl.a. anvendt

sledes at hvis et punkt i en liste indeholder mere end et afsnit, s anvendes der afsnitsindentering samt inden luft mellem afsnit (dermed passer dette med resten af designet).

Kort oversigt over enumitem parametre

For en liste over de mange forskellige ngleord man anvender til kongurationen vedrrende enumitem, henvises til Bezos (2007).
9.7.3 Egne listekonstruktioner

Man kan desuden selv lave liste konstruktioner ved brug af indbyggede makroer som ikke behver yderligere pakker. Dette ligger dog udenfor rammerne af denne bog, s lseren henvises i stedet til Mittelbach og Goossens (2004) afsnit 3.3.4 eller Memoir manualen Wilson (2010). Dog kan man i mange tilflde njes med at lave nye lister med enumitem.
9.8 Brug af farver

xcolor color

Vi har i et tidligere afsnit ( 7.8.3) snakket lidt om farver i tabeller. Vi vil her kort A fortlle lidt om brugen af farver i L TEX. Da farvetryk er dyrt er det ikke noget vi vil gre s meget ved, men man ved i det mindste hvor man skal kigge efter mere information. Man anbefales at anvende pakken xcolor, den har en meget strre eksibilitet end standardpakken color. Man henvises til Kern (2006) for yderligere brugerinformation, helt specikt om de mange muligheder for at denere nye farver, justere p eksisterende farver samt de forskellige farvemodeller (man kan f.eks. blande farver, eller bede om komplementrfarver). De makroer vi vil beskrive ndes dog for de estes vedkommende ogs via pakken color. Der er re basale makroer man kan anvende til at f farver i sin tekst.
\textcolor{

\color \textcolor \colorbox \fcolorbox

farvenavn } farvenavn }{ tekst } \colorbox{ farvenavn }{ tekst } \fcolorbox{ randfarvenavn }{ farvernavn }{ tekst }
\color{

\color

opfrer sig som f.eks. \bfseries, dvs. den ndrer tekstfarven herfra og frem. S her vil det vre en god ide at huske at beskytte sig. \textcolor{ farve }{ text } svarer
234
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Udsende mange breve

til {\color{farve} tekst}. \colorbox vil i stedet farve baggrunden af den angivne tekst. Man bedes bemrke at har man et strre omrde (ere linier) som skal have en farvet baggrund, s skal det ind i en boks, f.eks. en \parbox. \fcolorbox er som \colorbox, men bare med en ramme omkring. Tykkelsen af rammen styres normalt af \fboxrule (som ogs styrer \fbox) og luften mellem rammen og teksten styres af \fboxsep. Pakken xcolor giver desuden yderligere kontrol over disse. Som en slutbemrkning kan siges at den rde farve som er anvendt i online versionen af denne bog er deneret via
\definecolor{nicered}{rgb}{.647,.129,.149}

\parbox \fboxrule \fboxsep

Koden stammer fra Emil Hedevang Lohse (anvendt i hans utroligt otte bachelor projekt, som dog var skrevet med plain-TEX). Som nvnt bliver man ndt til at skulle bruge en boks konstruktion (\parbox eller minipage) for at kunne f baggrundsfarve p ere linier med tekst. Problemet med dette er at det ikke kan deles over ere sider. Skulle dette vre ndvendigt kan man i stedet anvende pakken framed (direkte indbygget i memoir -klassen). Denne giver bl.a. environmentet shaded som giver en baggrundsfarve til teksten, og denne kasse deler nt over ere sider. Det er denne konstruktion vi anvender til f.eks. baggrunden i denne bemrkning. Environmentet shaded krver at brugeren selv har deneret farven shadecolor. I denne bog har vi anvendt
Sidebemrkning 9.16.
\definecolor{shadecolor}{gray}{.87}

Eksempel 9.51

framed shaded

shadecolor

Eksempel 9.52

Lad os slutte dette afsnit med et eksempel.


\raggedright \textcolor{nicered}{\bfseries Dette bliver rdt}, \colorbox{blue}{\color{white} dette er hvidt p bl baggrund}, \fcolorbox{red}{cyan}{ramme og baggrund}

Dette bliver rdt, dette er hvidt p bl baggrund , ramme og baggrund

Eksempel 9.53

9.9

Udsende mange breve

Vi har tidligere nvnt at man til breve kan anvende klasserne letter og scrltr2. Vedrrende brugen af den sidste henvises til Kohm og Morawski (2006). (Bemrk ivrigt at breve normalt ikke understtter \section etc.) I Eksempel 9.54 nder man en meget simpel skabelon til letter . A Ville egentlig bare nvne breve idet man med L TEX, nemt kan lave mange nsten ens lydende breve. Meget nyttigt hvis man f.eks. er en forening som skal ansge om fondsmidler til en studietur. Dette kan lses via pakken mailing. De to ting man kan ndre er adressen man sender til (argumentet til \begin{letter}) samt argumentet til \opening. Resten af brevet forbliver ens for alle. Man starter med at lave en adresse l som skal have et bestemt format. Et eksempel kan ses i Eksempel 9.55. Dvs. normalt bestr hver indgang af re linier, modtager navn, modtager adresse (skal vre p n linie hver), bningslinie samt en blank linie. Det er en almindelig fejl at man glemmer den blanke linie efter sidste indgang,
235
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

mailing

9. Mere om tekst

Eksempel 9.54

\documentclass[a4paper]{letter} % normal preamble \usepackage[danish]{babel} \begin{document} \address{ Lars Madsen\\ Institut for Matematiske Fag} \signature{Lars Madsen} \begin{letter}{En eller anden \\ Et eller andet sted} \opening{Til rette vedkommende} Noget tekst \closing{M.v.h.} \end{letter} \end{document}

Eksempel 9.55

Navnet p modtageren Vej\\By\\Land ... bningslinie Navnet p modtageren Vej\\By\\Land ... bningslinie % end of records

s husk den (et trick er at gre som ovenfor og indstte % end of records til slut s glemmer man den ikke). (Der sker ikke noget ved at man har mange blanke linier mellem indgangene.) S er resten faktisk simpelt.
Eksempel 9.56
\documentclass[a4paper]{letter} % normal preamble \usepackage{mailing} \addressfile{adressefil.txt} \begin{document} % opstning af brev variable \address{Mit navn\\ Min adresse} \signature{Mit navn} % teksten som anvendes i brevet, incl. mvh. linien (\closing) \mailingtext{ Dette er teksten til brevet \closing{M.v.h.} } \makemailing \end{document}

Man kan desuden tilfje ekstra ting til adresse formatet, se evt. Braams (1994). Har man brug for mere eksibilitet, s kan man tage et kig p pakken datatool som kan hndtere CSV-ler. Den kan f.eks. loope over alle data linierne i CSV-len og lade brugeren gre noget ved data for hvert st.
236
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

A Fremvisning af tekst uden L TEX-fortolkning

I DK-TUG skulle vi lave et flgebrev til girokortet (som ogs er lavet ud fra behandling af CSV-data), her ville vi bede brugerne om at tjekke det emailadresse vi har til dem. Dette brev blev lavet nogenkunde som det ses i Eksempel 9.57.
% oevrige preamble \usepackage{datatool,url} \pagestyle{empty} \begin{document} \DTLloaddb{data}{mydata.csv} \newcommand\mybrev[2]{% % indhold af brevet \begin{center} \begin{tabular}{l !{\qquad} r} \toprule Navn & Emailadresse \\ \midrule #1 & \expandafter\url\expandafter{#2} \\ \bottomrule \end{tabular} \end{center} % resten af brevet } \DTLforeach{data}{% \navn=navn,\email=email}{% \mybrev{\navn}{\email} \newpage } \end{document}

Eksempel 9.57

Dette genererede 96 flgebreve, man kunne naturligvis ogs have lavet hele brevet inden i lkken. Mere information ndes i Talbot (2009a).
9.10
A Fremvisning af tekst uden L TEX-fortolkning

A Fremvisning af tekst uden L TEX-fortolkning kan man ogs betegne som ordret (engl.: verbatim) fremvisning, som betyder at den anvendte tekst fremvises njagtigt som den er skrevet, alle mellemrum tller, der er ingen automatiske linieskift, ingen automatisk orddeling, \ bliver vist etc. A Verbatim tekst i L TEX kan faktisk vre overraskende vanskeligt, men vi har heldigvis nogle redskaber ved hnden. Hvis man nsker at fremvise en kort tekst i ordret form kan man anvende:

separator-tegn tekst uden separator-tegn samme separator-tegn \verb* separator-tegn-tegn tekst uden separator-tegn samme separator-tegn
\verb

\verb \verb*

Her betyder sep.-tegn (eks.: +) at \verb skal skrive teksten fra sep.-tegn til nste forekomst af sep.-tegn , ordret. Se eksempel 9.58. De to sep.-tegn skal st p samme linie som \verb ! og de to tegn skal naturligvis vre ens.
Sidebemrkning 9.17.

Den *-ede udgave vil markere mellemrum som .


237
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

\verb m ikke anvendes i denitionen af en makro eller som argument til en makro. Dog kan den oftest sagtens anvendes indeni et environment.

Sidebemrkning 9.18.

fancyvrb

verbatim verbatim*

Det vil sige at \verb m f.eks. ikke anvendes i en fodnote. Se pakken fancyvrb for lidt hjlp til hvad man s kan gre hvis man skulle f brug for det. Dog skal det nvnes at pakken bigfoot tillader brugen af \verb i fodnoter. Strre tekststykker kan fremvises verbatimt via de to environments verbatim og verbatim*. og \end delene for begge environments skal st p linier for sig selv og der m ikke forekomme mellemrum fr \begin/end. Desuden br disse ikke anvendes inden i denitioner af andre environments.9
Sidebemrkning 9.19.
\begin

Her er et eksempel p brugen af bde den korte form og environment udgaven.


Eksempel 9.58
\LaTeX\ skrives via \verb+\LaTeX+\\ \verb*|tekst med mellemrum| \begin{verbatim} noget verbatim tekst over flere linier \end{verbatim}

A L TEX skrives via \LaTeX

tekst med mellemrum

noget verbatim tekst over flere linier


Eksempel 9.59

Farlig (ls teksten) 9.20. Det man oftest fr brug for at kunne, er at inkludere indholdet af en l og fremvise dette ordret. Den naive skribent ville sikkert forsge sig med:
\begin{verbatim} \input{filnavn} \end{verbatim}

hvilket man s selv kan overveje hvorfor ikke vil virke.10


verbatim

Den simpleste mde at inkludere en l p denne mde er via pakken verbatim, hvorefter man anvender11
\verbatiminput{

\verbatiminput

lnavn }

Det inkluderede bliver s skrevet med typewriter-fonten, hvilket er tradition vedrrende den slags tekst, den kan lokalt tilgs via \texttt{ tekst }. Opstningen af fonten vil normalt vre sdan at alle bogstaver og mellemrum fylder det samme. Man skal dog bemrke at teksten ofte bliver ret s bred nr man anvender typewriter-fonten, derfor kan det vre en god ide at lave sin egen inkluderings makro.

9 Vi nvnte jo at verbatim tekst involverer meget skumle konstruktioner. 10 Har faktisk set folk undre sig over hvorfor dette ikke virker. 11 Makroen er direkte inkluderet i memoir -klassen.

238
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Kildekode fremvisning

\newcommand\sasoutputfont{\small} \newcommand\sasoutput[1]{% \begin{flushleft} \sasoutputfont \verbatiminput{#1} \end{flushleft} }

Kodetip 9.2

Den eneste grund til at anvende ushleft-environmentet i dette tilflde er at den s automatisk fr noget luft fr og efter inkluderingen. En anden konstruktion kan laves via listings-pakken. I afsnit 9.10.2 omtales en pakke undertegnede har lavet specikt til inkludering af sas-kildekode og -output, den gr netop brug af listings-pakken.
9.10.1 Kildekode fremvisning

ushleft

Kildekode fremvisning kan selvflgelig laves via en verbatim-konstruktion, men det er ndes endnu smartere lsninger. De mest interessante er sandsynligvis pakkerne fancyvrb og isr listings. Begge pakker ligger udenfor rammerne af denne bog s vi vil i stedet bare komme med et kort listings eksempel og s henvise til de respektive manualer (Van Zandt (1998) og Heinz (2004)). Eksemplerne i denne bog er lavet via listings. Til at starte med var de dog lavet med bde listings og fancyvrb, men seneste version af listings gjorde fancyvrb overdig (hvis man lige var en smule snedig). Listings er s, kombineret med en masse hjemmebrygget kode, blevet til den pakke vi anvender til at lave eksemplerne.
Sidebemrkning 9.21.

fancyvrb listings

9.10.2

Lidt om listings
listings

Pakken listings virker lidt som verbatim men kan nu kongureres ud i det ekstreme. Den er specielt god til at tage sig af fremvisnings af kode fra forskellige programmeringssprog, inkluderer bl.a. muligheder for automatisk at indeksere ngleord etc. Den er specielt god til at hente koden ind fra eksterne ler og s f.eks. kun vise visse linier. I Eksempel 9.60 flger et simpelt eksempel p fremvisning af et Perl-script. Vi har skiftet fonten i eksemplet fra Utopia til Computer Modern for at kunne understrege en pointe som flger senere i teksten. Eksempel 9.60 viser forskellige ting: (a) Man kan styre hvordan forskellige dele af teksten skal skrives (prettyprint), se #!-linien samt se to ngleord, foreach og system. (b) Man har mulighed for at stte linienumre p. (c) Man kan specicere hvilket programmeringssprog som kodestumpen er skrevet A i, p denne mde ved L TEX hvilke ord der skal betragtes som ngleord. (d) Systemet kan automatisk bryde linierne hvis de bliver for lange, uden at dette pvirker linienumrene. Pakken listings kan ufatteligt meget mere og er yderst kongurerbar. Den interesserede lser henvises til Heinz (2004). F.eks. kan man i stedet for at skrive det hele, bare inkludere en l, via \lstinputlisting{ lnavn } og man kan endda f vist kun nogle af linierne i denne l (meget nyttigt hvis man er ved at forklare forlbet af implementeringen af et program).
239
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

Eksempel 9.60

\usepackage{listings} \lstset{extendedchars=true, numbers=left, breaklines=true, language=Perl}


slut preamble

basicstyle=\ttfamily, numberstyle=\tiny, breakatwhitespace=true,

keywordstyle=\normalfont\bfseries, columns=flexible,

\begin{lstlisting} #!/usr/bin/perl # epstopdf kan ikke klare mere end en fil ad gangen derfor denne wrapper # anvendelse: EpsToPdf *.eps foreach $l (@ARGV) { system "epstopdf $l"; } \end{lstlisting}

1 2 3 4 5 6

#!/usr/bin/perl # epstopdf kan ikke klare mere end en fil ad gangen derfor denne wrapper # anvendelse: EpsToPdf *.eps foreach $l (@ARGV) { system "epstopdf $l"; }

Som det ses af eksempel 9.60 har vi fremhvet visse ngle ord i det lille perl-script. Vi blev her ndt til at anvende den almindelige fede font idet Computer Modern Typewriter ikke ndes i en fed version. Har man anvendt en mrkere tekstfont, eksempelvis Palatino eller Utopia kan man med held anvende LuxiMono12 som ogs er en typewriter-font men som ogs ndes i f.eks. fed, se ogs afsnit 9.6.3. Det er vigtigt at man husker fontenc med T1-option. Se Eksempel 9.61.
Eksempel 9.61
\usepackage{mathpazo} \usepackage[scaled=0.8]{luximono} \usepackage[T1]{fontenc} \usepackage{listings} \lstset{extendedchars=true, numbers=left, breaklines=true, language=Perl}
slut preamble

basicstyle=\ttfamily, numberstyle=\tiny, breakatwhitespace=true,

keywordstyle=\normalfont\bfseries\ttfamily, columns=flexible,

\begin{lstlisting} #!/usr/bin/perl # epstopdf kan ikke klare mere end en fil ad gangen derfor denne wrapper # anvendelse: EpsToPdf *.eps foreach $l (@ARGV) { system "epstopdf $l"; } \end{lstlisting}

Displaydelen af eksempel 9.61 ndes p nste side


12 Pakken luximono samt selve fontlerne kan ndes p ctan, MiKT X-brugere kan installere den direkte via E

Package Manager, TEX Live-brugere kan anvende getnonfreefonts.

240
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Opstning til SAS-udskrifter via listings

1 2 3 4 5 6

#!/usr/bin/perl # epstopdf kan ikke klare mere end en fil ad gangen derfor denne wrapper # anvendelse: EpsToPdf *.eps foreach $l (@ARGV) { system "epstopdf $l"; }

Eksempel 9.61 fortsat

Sidebemrkning 9.22.
\lstset{ extendedchars=true, basicstyle=\ttfamily, columns=fixed }

Anvender man justeringen


Eksempel 9.62

s fr man hvad der svarer til verbatim-environmentet, i.e. man behver kun angive sprog hvis man nsker det.

Opstning til SAS-udskrifter via listings

Vi har allerede nvnt at programmrer br kigge i Heinz (2004) for mere information omkring listings. Indenfor matematik vil det sikkert ofte vre til sas man fr brug for at kunne fremvise noget kode eller output. Til dette forml har jeg til en af IMFs VIP medarbejdere lavet en pakke (SASdisplay) som er lidt listings konguration for sas samlet til en pakke. Pakken er oentligt tilgngelig via
http://www.imf.au.dk/system/latex/lokale-pakker/

SASdisplay

hvor man vil nde selve pakken, en kongurationsl med ere keywords samt en manual. Man skal selv srge for at installere pakken, nemmeste er bare at lgge .sty og .cfg len i samme bibliotek som len hvori man indlser SASdisplay. Se Eksempel 9.63, som krver SASdisplay version 0.81.
\usepackage[frame=lineswithbackground]{SASdisplay} \renewcommand\ttdefault{txtt}
slut preamble

Eksempel 9.63

\begin{SAScode} #* hest $a^2+1$ ;# PROC INSIGHT DATA data=fisk; SCATTER x1 x2 x3 x4 x5 * dosis vgt; RUN; #* dette er en kommentar ;# OUTPUT QUIT; /* en kommentar i SAS */ \end{SAScode}

SAS-kode 1 * hest a2 + 1 ; PROC INSIGHT DATA data=fisk; SCATTER x1 x2 x3 x4 x5 * dosis vgt; RUN; * dette er en kommentar ; OUTPUT QUIT; /* en kommentar i SAS */

241
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

Bemrk hvad der sker mellem hvert par af #-er. Pakken inkluderer desuden forskellige kongurationsmuligheder, altsammen forklaret i Madsen (2007). I Kodetip 10.3 kan man se hvordan man kan anvende SASdisplay kongurationen til at lave noget tilsvarende til R-kode. Vi er i gang med at skrive en erstatning til SASdisplay, som skal understtte bde SAS- og R-kode. Hvornr denne pakke bliver klar vides endnu ikke.
Sidebemrkning 9.23.

9.11

Stikordsregister

Et godt stikordsregister/indeks kan vre en stor gavn til lseren samt for forfatteren, nr han/hun ikke lige kan huske hvor en bestemt ting er beskrevet i bogen. Men et indeks er heller ikke bedre end forlgget, det krver disciplin og viden for at lave et godt indeks. Der er faktisk rmaer som lever af at lave fornuftige indekser til andres A bger. I dette afsnit vil vi beskrive hvordan man laver et indeks i L TEX.
9.11.1 Generere indeksindgangene

makeidx
\makeindex

A At skrive indeksindgange i L TEX, er egentlig ret problemfrit og skriver man p engelsk vil der sikkert ikke opst. Desvrre forholder det sig ikke sdan med andre sprog. Dette kommer vi tilbage til senere. Hvis man ikke anvender memoir -klassen (eller lignende), skal man lige lgge ud med at inkludere pakken makeidx og s skal man placere flgende makro i sin preamble

\makeindex

Dette srger for at bne len masterl .idx hvor alle indeksinformationerne skrives til, uden \makeindex fr man ikke indsamlet nogen indekseringsdata. Selve indeksindgangen skrives (meget naturligt) med kommandoen
\index

\index{

tekst }

denne vil s srge for at tekst samt det aktuelle sidetal skrives til masterl .idx. Der glder forskellige regler for fortolkningen af indholdet af tekst : angiver at det som kommer efter ! er et underpunkt af det som kom fr !. Man har normalt kun ned til to underniveauer, i.e. anvend maksimalt to !-er. @ Til tider nsker man at en indeksindgang skal enten sorteres anderledes end det skrives, eller man nsker at formatere indgangen anderledes. Til dette forml anvendes syntaksen til sortering @ formateret indgang . Eksempel: \index{tekst@\textit{tekst}}. A I denne bog anvender vi dette til at indeksere L TEX-makronavne mens vi ignorerer \. Hvis frasen, man nsker at indeksere, bare skal st som almindelig tekst, s skriver man naturligvis bare \index{frase} uden brug af @. | anvendes i formen \index{...|textit} (bemrk textit uden \), og bevirker i dette tilflde at sidetallet som optrder i indekset nu kommer ud i kursiv. Man kan ogs anvende andre markoer efter | f.eks. \see.13 !
13 Denne feature virker pt. ikke ordentligt hvis man anvender hyperref i kombination med indekseringspro-

\see

grammet xindy.

242
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Sortere selve indekset

(speciel) Har man brug for at skrive !, @ eller | i en indeksindgang skal kan de escapes via "!, "@ eller "|. Er det et specielt ord man nsker at indeksere ved at placere en \index{ ... } efter det, s skal man huske at det ikke br vre mellemrum fr \index{ ... }, ellers kan man risikere at f et forkert sidetal.
Sidebemrkning 9.24.

P det sted hvor man nsker at f indsat sit indeks, skal man placere makroen
\printindex
\printindex

(det kan sammenlignes med \bibliography til litteraturlister lavet med BibTEX). Denne makro til s inkludere indholdet af masterl .ind hvis den ndes. .ind-len er den sorterede udgave af den tidligere omtalte masterl .idx-l. I indekset er data i bogstavgrupper, frst kommer symboler (dvs. ting som i indekseringsnglen ikke starter med az), s A, B, . . . Mellem hver gruppe bliver der indsat noget luft, via \indexspace, hvis strrelse er deneret af dokumentklassen. Vi vil gerne have at der mindst skal komme to punkter efter overskriften, hvis der ikke er plads til det, er det bedre at lave sjle skift fr overskriften. Dette man vi gre ved at pille lidt ved \indexspace:
Tip 9.25.
\let\oldindexspace\indexspace \renewcommand\indexspace{\oldindexspace\needspace{3\baselineskip}}

\indexspace

Eksempel 9.64
\needspace

hvor \needspace kommer fra needspace-pakken (eller memoir -klassen). I dette tilflde beder vi om at der skal vre plads til tre linier efter \indexspace, overskriften samt de to frste punkter.

needspace

9.11.2

Sortere selve indekset

A L TEX kan ikke selv sortere og sammenstte selve indekset, det anvender man et eksternt program til at gre for sig. Der ndes forskellige programmer til at generere indekset med:

makeindex
A dette er det klassiske indekseringsprogram til L TEX. AT X-installationer. Fordele: Programmet flger med alle L E Ulemper: Kan ikke sortere p dansk. Krver at man i \index{ tekst } ikke har noget linieskift i tekst (for s fr man i stedet to forskellige indgange). Skal omkongureres for at f overskrifter til hver bogstavgruppe.

xindy

giver gennem programmet texindy et mere moderne indekseringsprogram. Fordele: Kan sortere efter sprogreglerne p mange forskellige sprog, endda p ere mder p enkelte sprog (eks. tysk til tyskere og tysk til ikke-tyskere). I standardopstningen vil den automatisk lave overskrifter til bogstavgrupperne. Ulemper: Har indtil fornyligt kun vret tilgngelig p Linux, men ndes nu til alle platforme, dog kun hvis man anvender TEX Live 2008+. Understtter ikke kongurationslerne til makeindex, og kan vre en smule underlig selv at A kongurere. Er ikke altid velegnet til at sortere indeks til bger om L TEX (thi den
243
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

texindy

9. Mere om tekst

sorterer bl.a. $ og \$ til samme bogstav, som er nt til almindelige bger, men A ikke altid velegnet til L TEX-bger).
mkind

Program skrevet af Jrgen Larsen og kan downloades fra http://dirac.ruc.dk/ imfufalatex/. Programmet ndes til Windows og Linux og udemrker sig ved at vre et indekseringsprogram som tager hensyn til de danske regler. Personligt har jeg ikke nogen erfaring med programmet. Ulempe: Anvender en lidt anderledes syntaks (som man dog ogs kan kongurere makeindex til at anvende), se Larsen (2006).

latexmk

Hvornr skal man s kre indekseringsprogrammet? Tja, det skal man nr der er tilfjet nye indeksindgange, eller nr sidetallet er ndret. Det nemmeste er at man srger for at huske at kre indekseringsprogrammet nr man er frdig med at skrive A p dokumentet, husk ogs at overstte L TEX-dokumentet nogle gange bagefter. Alternativt kan man anvende programmer som selv kan nde ud af at kre f.eks. makeindex og bibtex det gange det er ndvendigt. Jeg anvender selv anvendes Perlprogrammet latexmk som ogs fungerer p Windows og som nu flger med TEX Live. Her kigger man p .idx-len, mellem hvert gennemlb, hvis den er ndret (f.eks. anderledes sidetal), s skal der kres makeindex og latex igen.
Sortering via makeindex

For at f den sorterede indeksl med makeindex er syntaksen:


makeindex

options masterfil

Bemrk der skal ikke angives nogen ltype. options kan f.eks. anvendes til at kongurere hvordan indekset skal se ud, det er dog ikke noget vi til g i detaljer med her, se i stedet Mittelbach og Goossens (2004) eller Wilson (2007a), se dog Eksempel 9.65. A De este moderne L TEX-editorer har en knap eller lignende14 til at kre makeindex med (skal man bruge ekstra options, skal man sikkert omkongurere sin editor en smule). Alternativt kan man udfre makeindex via kommandolinien eller en terminal. I afsnit 9.11.2 beskrev vi nogle problemer vedr. makeindex, her er et har hint til hvad man s kan gre.
Sidebemrkning 9.26.

(i) makeindex kan ikke sortere p dansk! Den opfatter de danske vokaler som makroer i stedet for bogstaver, dermed bliver s sorteret fr sa. Man har umiddelbart tre alternativer hvis man lber ind i problemer af denne type: Skriv en alternativ sorterings ngle (dette krver god disciplin), f.eks. \index{sz@s}. Man kan anvende programmet mkind af Jrgen Larsen. Det ndes til bde Linux og Windows, via http://dirac.ruc.dk/imfufalatex/, dog anvender den en lidt anderledes syntaks (som man dog ogs kan kongurere makeindex til at anvende), se Larsen (2006). Eller man kan anvende xindy.
Fortsttes p nste side
14 Editoren TeXnicCenter vil som default kre bde BibT X og makeindex hver gang man overstter. E

mkind

244
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Sortering via texindy

(ii) For makeindex har alle tegn betydning. Dvs. har man anvendt \index{tekst }, \index{ tekst}, \index{tekst} eller \index{tekst linieskift tekst} og \index{tekst tekst}, s giver dette fem(!) indeks indgange i stedet for de naturlige to indgange. Bde mkind og xindy har ikke dette problem.

Kigger man p indekset i denne bog, s vil man se at der er overskrifter nr en ny bogstavsgruppe starter. Dette vil makeindex ikke gre som standard (det gr xindy til gengld), men man kan nemt kongurere makeindex til det. Gem flgende som minstil.ist:
headings_flag 1 heading_prefix "{\\bfseries " heading_suffix " }\\nopagebreak\n"

Eksempel 9.65

nsker man at anvende syntaksen fra mkind sammen med makeindex s skal man tilfje linierne
actual '=' quote '!' level '>'

Eksempel 9.66

Nrmere forklaring kan ndes i Mittelbach og Goossens (2004), afsnit 11.2.4, samt Wilson (2007a), afsnit 4.5. En makeindex-kongurationsl anvendes s som
makeindex -s minstil.ist masterfil

eller hvad nu .ist-len hedder.


Sortering via texindy

Skulle man vre s heldig at have adgang til texindy (f.eks. via TEX Live 2008+), s anbefales (kraftigt) det at man anvender den i stedet for makeindex. For at sortere at indeks p dansk er det nu bare at kre
texindy -L danish masterfil.idx

Bemrk at endelsen .idx skal med. texindy vil automatisk srge for at hver ny bogstavgruppe i indekset fr en overskrift. Personligt har jeg anvendt texindy i ere r, denne bog er naturligvis ogs indekseret med den (via en omkongureret latexmk). Desuden tvinger jeg rutinemssigt A de skribenter jeg yder L TEX-support for til at anvende texindy netop for at undg problemer med indekset. I denne bog har vi dog fusket en del med indekset, vi ville gerne have et ordbogs agtigt sidehoved, samt at kunne se nr et hovedord fortstter fra den forrige side.
9.12 Terminologiforklaring

texindy

Til lngere projekter som kunne forventes lst af andre end de som er direkte inden i emnet, s er det en god ide at lave sig en terminologiforklaring et eller andet sted i dokumentet. Terminologi kan i dette tilflde vre bde symbolterminologi samt specielle ord eller vendinger som man gerne ville have at lseren hurtigt kunne s op hvis han/hun blev i tvivl om betydningen.
245
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

Vedrrende symbolforklaringer vil det isr vre en ide at medtage en sdan hvis man anvender symbolsammenstninger som ikke er helt standard, f.eks. brugen af i statistik. Sdanne oversigter kan laves p forskellig vis, lige fra det meget simple hndlavede til det meget avancerede hvor man anvender indekseringsprogrammer til at holde styr p tingene og sortere data.
9.12.1 Meget simpel symbolliste

Dette vil vi lave med en longtable hvor vi stte frste sjle til automatisk at vre i matematik-mode. Skulle man f brug for at skrive et ord ind p listen kan den skrives med \text.
Eksempel 9.67
\usepackage{longtable,array} \usepackage{amssymb,amsmath}
slut preamble

\section*{Symboloversigt} % brug \chapter* i f.eks. memoir %\phamtomsection% hyperref \addcontentsline{toc}{section}{Symboloversigt} \begin{longtable}{@{} >{$}l<{$} % konfigurering \multicolumn{2}{r}{\textit{forttter p nste side}}\\ \endfoot \endlastfoot \mathbb{N} & De naturlige tal \mathbb{Z} & De hele tal \mathbb{R} & De reelle tal \sim & Fordelt som, i.e. $X\sim N(0,1)$. \text{hviss} & \emph{Hvis og kun hvis} \end{longtable} \\ \\ \\ \\ \\ p{10cm} @{} }

Symboloversigt
N Z Q R hviss De naturlige tal De hele tal De rationelle tal De reelle tal Fordelt som, i.e. X N (0, 1). Hvis og kun hvis

\mathbb{Q} & De rationelle tal \\

Ulempen med eksempel 9.67 er blandt andet at man ikke har mulighed for at se hvor er er vigtig information vedr. dette ord.
9.12.2 Ikke helt s simpelt

nsker man f.eks. sidetal til siden hvor man har deneret eller forklaret noget specikt, s skal vi ud i noget mere avanceret, se nste afsnit.
9.13 Terminologi- eller tegnforklaring (glossaries-pakken)

nomencl

P engelsk kaldes dette ofte glossary eller nomenclature. Der er ere pakker som kan hjlpe, f.eks. har memoir -klassen sine egne indbyggede feateures til at lave et glossary (se Wilson, 2010). Et alternativ er pakken nomencl (se Netherton og Radhakrishnan, 2005). Flles for begge lsninger er at de ligner meget metoden bag indekser. Alts at man skriver forklaringerne som en del af teksten, og s samler data via makeindex. Dette har en stor ulempe. Tit vil man gerne ere gange kunne henvise til de (vigtige) steder hvor et forklaret koncept er anvendt i teksten, hvilket er bvlet nr forklaringen selv er en del af teksten. Man skal passe meget p hvad man gr.
246
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Data til ordlisten

Vi vil i stedet anbefale at man anvender pakken glossaries. Denne pakke angriber opgaven p en anderledes, mere overskuelig, mde. Indenfor glossaries-pakkens univers lader man sig inspirere af metoderne bag litteraturlisten. Alts at man har sine data liggende t sted, og dette henviser man s til p forskelligvis, f.eks. ved at hver gang man skriver et bestemt ngleord i teksten, s gr man det via an speciel kommando. Denne kommando srger s for at brugen bliver markeret sledes at terminologilisten kan skrive at dette ngleord er anvendt p den og den side. Har man problemer med glossaries, fr man normalt hurtig og kompetent hjlp p enten nyhedsgruppen comp.text.tex eller http://www.latex-community.org. P ctt er det ofte forfatteren (Nicola Talbot) som svarer.
Tip 9.27.

glossaries

For at f selve terminologilisterne, skal man, som ved indekser, anvende et indekseringsprogram, som s skal kres med forskellige options. Da man kan lave ere forskellige ordlister (hvilket vi ikke kommer nrmere ind p), kan man komme ud for at skulle kre indekseringsprogrammet p ere ler, hvilket hurtigt kan blive ret uoverskueligt. Heldigvis har forfatteren til glossaries skrevet et program makeglossaries som kan hjlpe. Dette program er skrevet i sproget Perl. Er man p Mac eller Linux, s har man allerede Perl, og kan derfor anvende makeglossaries uden problemer. Er man p Windows og anvender TEX Live 2009 eller nyere, har man heller ikke problemer, for disse versioner af TEX Live kommer med Perl. Er man derimod MikTeX-bruger, s har man ikke ndvendigvis Perl. I s fald skal man enten selv installere Perl, eller kre indekseringsprogrammerne manuelt. Vi anbefaler at man selv installerer Perl, se http://www.perl.org/get.html. Det er ret nemt, og bare Perl er installeret skulle man kunne anvende makeglossaries uden problemer. Syntaksen er s bare
Anbefaling 9.28.
makeglossaries

makeglossaries

masternavn

9.13.1

Data til ordlisten

Man starter med at skrive sine ordlisteindgange. Vi anbefaler at man anvender en ekstern l til dette. Denne l skal s indlses og dette skal gres fr man beder dokumentet om at forberede sig p en terminologiliste. Man skriver
\loadglsentries{glossary} \makeglossaries

Eksempel 9.68

hvor vi her har lagt indgangene i den eksterne l glossary.tex. Det man oftest vil skrive som data kommer i to typer: Ordforklaringer samt akronymer (forkortelser, som f.eks. HTTP). Det sidste er normalt meget nemt
\newacronym{

ngle }{ kort }{ lang }

14 Anvend evt. Google Groups.

247
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

Hvor man s vil f lang ( kort ) frte gang man anvender ngle og kort de efterflgende gange. Normalt kommer disse bare med blandt punkterne i terminologilisten, men har man mange, kan man ogs bede om at f dem for sig selv, se Talbot (2009b). En mere kompliceret opstning kan opnes med den generelle makro \newglossaryentry med en bestemt type, se Talbot (2009b), afsnit 2.10. Som et eksempel p en forkortelse kunne vi anvende
Eksempel 9.69
\newacronym{nato}{NATO}{North Atlantic Treaty Organisation}

Hvordan det anvendes i teksten forklarer vi i afsnit 9.13.2. I de este tilflde vil man i stedet anvende den mere generelle macro
\newglossaryentry{

ngle }{ data }

Hvor ngle skal ses p samme mde som ved citeringer. data -delen er bygget op som en liste af key = {value} punkter (man br huske {} omkring vrdierne). Her lister vi nogle af dem, en lngere liste kan ses i (Talbot, 2009b, afsnit 2.2).
name = data

Dette er teksten som kommer til at st i selve ordlisten. Hvis ikke text-nglen er angivet, s er det ogs denne tekst som skrives i teksten nr dette ord anvendes. description = data Er selve beskrivelsen af hvad dette nu er for noget. Hvis punktet af en eller anden grund ikke skal have nogen beskrivelse s skriv \nopostdesc. parent = data Man kan have underpunkter til punkter i ordlisten. Man skal blot huske at forldren skal vre deneret fr brnene. Det er s ngle for forldren man angiver her. text = data Angiver den tekst som skal skrives i teksten nr ngle anvendes (sammenlign med det som skrives nr man anvender \cite-kommandoen). Hvis punktet som ngle henviser til ikke har angivet text anvendes teksten fra name i stedet. rst = data Angiver hvad der skal st frste gang vi anvender dette ord i teksten, hvis det skal vre anderledes end det fra text. Anden gang fr man s teksten fra text. Denne feature kan nulstilles undervejs. symbol = data Et ord kan vre associeret med et symbol. (Det afhnger af kongurationen af ordlisten om symbolet vises.) sort = data Angiver hvordan dette skal sorteres. Antag f.eks. vores ord er p-adisk, her skrives p i matematik, men vi vil gerne have den sorteret under p. Her ville man s anvende
Eksempel 9.70
text = {$p$-adisk}, sort = {p-adisk}

Nglen sort skal desuden anvendes i forbindelse med underpunkter til at styre rkkeflgen af disse (se Talbot, 2009b, afsnit 2.2.2). Som sagt er der ogs andre ting man kan angive, bl.a. diverse ertalsformer.
248
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

Brug i teksten

Pakken glossaries har forskellige makroer til at anvende et ord i teksten (hvilket vi forklarer i det flgende afsnit), en af mulighederne er at man kan bede om at f angivet et ord med stort begyndelsesbogstav selv om ordet er deneret med sm bogstaver (hvilket de este ord br). Dette kan give problemer nr man anvender ord som starter med f.eks. , , eller bogstaver med accent. Her anbefaler manualen at man husker at skrive f.eks.
Sidebemrkning 9.29.
name = {{}ble}

alts at man husker at stte {} omkring dette startbogstav. For s kan makroerne fange det korrekt og gre det til et stort bogstav.15
A Som et eksempel p en indgang i en ordliste kan vi lave en for L TEX:
\newglossaryentry{latex}{ name = {\LaTeX}, sort = {LaTeX}, description ={typesettingsystem byggende p \TeX} }

Eksempel 9.71

Eksempel 9.72

9.13.2

Brug i teksten

Der er en hel del makroer man kan anvende i forbindelse med glossaries-pakken, vi forklarer kun nogle f her, og henviser ellers til manualen (Talbot, 2009b).
\gls[

options ]{ ngle } Dette er den primre makro til anvendelse af et ngleord. Den skriver s den tekst man har valgt for ngleordet, samt markerer at ordet er anvendt p netop denne side. options ]{ ngle }{ tekst } Dette minder mere om et link i HTML. Her skrives teksten tekst og ngle markeres som anvendt p denne side. Hvis man anvender hyperref vil tekst blive et link til ngle s indgang i ordlisten. Der er en stjernet version som ikke laver et link. Bemrk at \glslink ikke pvirker frste brug af ngle . nsker man med denne lejlighed at markere ngle som anvendt, skal man anvende \glsdisp i stedet. options ]{ ngle } Markerer at ordet er anvendt p denne side, men skriver ikke noget. options ]{ ngle } Som \gls men starter med stort bogstav.

\glslink[

\addgls[ \Gls[

\glspl[

options ]{ ngle } Flertalsversion, hvis der ikke decideret er deneret en ertalsversion, s forsger den selv at lave en. Dette markerer alle punkter i listen, sledes at man kan tjekke formateringen af sin liste uden at skulle have anvendt alle ngler.

\glsaddall

15 Hvad man lige skal gre vedr. p-adisk, ved jeg faktisk ikke.

249
Kapitlet er sidst opdateret 2010/10/29 02:02 (revision 735)

9. Mere om tekst

9.13.3

Indsttelse af den formaterede terminologiliste

Med indekser in mente, indsttes den formaterede liste med kommandoen


Eksempel 9.73
\printglossary

Vi nvnte i anbefaling 9.28 at man br gre brug af programmet makeglossaries nr man skal have formateret sin ordliste, s nr man vil formatere sin ordliste anvendes
makeglossaries

master-navn

man bliver enten ndt til at lre hvordan man bruger kommandolinien, eller hvordan man kongurerer sin editor til at give en knap til denne kommando. Selve listen kan formateres p vidt forskellig vis. Sammen med glossaries nder man en masse eksempler p brugen af glossaries og formatering af listerne. Man kan f.eks. anvende formelnumre som henvisning, eller kapitelnumre. Man kan anvende tabeller eller forskellige former for lister. Se mere i Talbot (2009b) samt i sti /texmf-dist/doc/ latex/glossaries/samples/ (p en T X Live installation). E
9.13.4
Eksempel 9.74

Eksempel

\usepackage{glossaries,amssymb} \AtBeginDocument{\renewcommand\glossaryname{Ordliste}} \makeglossaries \newglossaryentry{ordliste}{name={ordliste}, description={Beskrivelse af forskellige termer og udtryk}} \newglossaryentry{nattal}{name=\ensuremath{\mathbb{N}}, description={de naturlige tal}, sort={N}} \newglossaryentry{http}{name={http}, text=\textsc{http}, description={Hypertext Transfer Protocol}, first = {\textsc{http} (Hypertext Transfer Protocol)}}
slut preamble

I denne \gls{ordliste} tester vi et par ting. Forkortelsen \gls{http} og igen \gls{http}. Noget matematik: \[ \forall n \in \gls{nattal}: n >0 \] \printglossary

I denne ordliste tester vi et par ting. Forkortelsen http (Hypertext Transfer Protocol) og igen http. Noget matematik: n N : n > 0

Ordliste
http Hypertext Transfer Protocol. 1 N de naturlige tal. 1 ordliste Beskrivelse af forskellige termer og udtryk. 1

250

Tiende Kapitel

Diverse
Dette kapitel er en mindre opsamling p en del ting som ikke rigtigt passer ind andre steder. Her vil man blandt andet kunne lse om hvordan enheder skal behandles, samt meget mere.
10.1 Formatering af tal, enheder og navngivne variable

Enheder og navngivne enheder krver samme omhyggelighed som vi tidligere gav navngivne matematiske funktioner. Men faktisk br man ogs give formatering af tal en tanke. Dansk typogra siger f.eks. at man skal anvende komma som decimalindikator, hvorimod langt de este andre lande anvender punktum. I dette afsnit vil vi forklare hvordan man hndterer dette nrmere.
10.1.1 Tal og enheder via siunitx

I det flgende antager vi at man anvender siunitx, version 2. I version 2 blev det meste af kongurationen omdbt. Hvis man fortsat anvender version 1, burde man kunne f det meste til fortsat at virke hvis man anvender
Sidebemrkning 10.1.
\usepackage[load-configurations=version-1]{siunitx}

Se desuden afsnit 8 i siunitx-manualen (Wright, 2010)/ Gennem ere r har der vret mange forskellige pakker til at hndtere enheder p en korrekt mde. SI (det internationale enhedssystem) har faktisk en masse regler for hvordan enheder skal skrives, hvilket mellemrum der skal vre mellem enheden og vrdien etc.1 Funktionaliteten af alle disse pakker er nu blevet samlet i n pakke kaldet siunitx. Da pakken desuden tager sig af formatering af tal, er det naturligt at siunitx ogs giver metoder som formaterer sjlerne i tabeller. Dette har vi allerede kigget p i afsnit 7.4.3. Til selve teksten giver siunitx os tre primre makroer vi kan bruge options ]{ vrdi } options ]{ enhed } \SI[ options ]{ vrdi }{ enhed }
\num[ \si[

Eksempel 10.1

siunitx

De to frste kommandoer er til formatering af tal henholdsvis enheder, mens \SI er til at skrive vrdi og enhed i t hug (den anvender internt \num og \si). Vi skal ikke sige s meget om options -delen, men i stedet henvise til Wright (2010) for de nrmere detaljer.
1 Faktisk har de ogs en mening om d-et vi anvender nr vi integrerer, men det taler man ikke hjt om i

matematikkredse. . . reglen glder vist kun for fysikere.

251
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

10. Diverse

Formatering af tal

Makroen \num kan mange sjove ting som er rigt illustreret i manualen, lad os komme med et par eksempler:
Eksempel 10.2
\usepackage{siunitx}
slut preamble

\num{1234.56} \num[output-decimal-marker={,}]{1234.56} $\num[separate-uncertainty]{12.34(5)}$

1234.56 1234,56 12.34 0.05

Bemrk hvordan vi i det andet eksempel erstatter punktum med komma, som decimal tegn. Dette kan vi ogs gre globalt via
Eksempel 10.3
\usepackage{siunitx} \sisetup{output-decimal-marker={,}}

Det sidste eksempel med den korte angivelse af afvigelsen er nyttig inden for mange forskellige fag. Man kan ogs angive intervaller, med
\numrange[

options ]{ fra }{ til }

Her kan man s specicere hvordan man skal angive at der er tale om et interval:
Eksempel 10.4
\usepackage{siunitx}
slut preamble

\numrange{5}{17} \qquad\numrange[range-phrase={ til }]{5}{17} \qquad\numrange[range-phrase=--]{5}{17}

5 to 17

5 til 17

517

Observer hvordan man bliver ndt til at anvende { til } for at f interval ordet skrevet til noget andet. Se ogs Eksempel 10.7. Det er mske ikke lige til at se hvad man skal bruge dette til, man kan jo bare skrive det i hnden, det interessante ved denne konstruktion er faktisk den storebror \SIrange{ fra }{ til }{ enhed }, hvor det s begynder at blive sjovt, for nu kan siunitx selv nde ud af at gentage enheden eller stte parenteser om vrdi-delen.
Eksempel 10.5
\usepackage[load-configurations=abbreviations]{siunitx}
slut preamble

15 kg. . . 35 kg

\SIrange[range-phrase=\dots]{15}{35}{\kg}

Formatering af enheder alene

Ved brugen af enheder skal man huske det ikke er alle som ved hvad forkortelserne str for. Dette kan vre et problem, bde hos skribenten samt som lseren. Den sidste kan vi ikke gre s meget ved,2 men den frste (som ofte gr sig gldende i samarbejde med forfattere fra andre felter), kan vi kse ved brug af siunitx. Med pakken kan man anvende to forskellige metoder til at skrive sine enheder. En A kort syntaks hvor L TEX ikke selv ved hvad der er enheder (og man derfor selv skal markere nr man gr til en ny enhed) og en mere omstndig (engl: verbose) hvor navnet p hver enhed skrives helt ud, og hvor prexer, eksponenter og lignende skrives med
2 De este enhedsforkortelser kan sls op i Wikipedia.

252
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

Vrdier med enhed

ord. Den lange notation gr det meget nemmere for medforfattere at forst hvad der st, sledes der ikke kommer tvivlssprgsml.3 Lad os illustrere med et eksempel
\usepackage{siunitx}
slut preamble

Eksempel 10.6

\si{kg.s^{-2}} \si{\kilo\gram\per\second\squared} \si{kg/s^{2}} \si[per-mode=symbol]{\kilo\gram\per\second\squared} \si[per-mode=fraction]{\kilo\gram\per\second\squared}

kg s2 kg s2 kg/s2 kg/s2

kg s2

Begge indtastninger giver det samme, bemrk hvordan man bliver ndt til at indstte et punktum for at adskille de to enheder i den frste konstruktion. Den lange type er meget mere lsbar. I de to foregende eksempler kan vi ogs se den generelle opbygning af en enhed: Der er et prex (f.eks. kilo), en enhed (f.eks. gram) samt en potens. Man kommer nok ikke til at anvende makroen \si direkte videre tit, men den anvendes internt i \SI. Dog kan \si vre ganske anvendelig nr man f.eks. i overskrifterne i en datatabel skal angive hvilken enhed der er anvendt i en sjle/rkke. Her flger nu nogle tabeller med enheder, prexer, forkortelser og nogle potenser skrevet ud i ord, se tabellerne 10.1 til 10.4. Siunitx understtter mange ere enheder end dem vi har listet her. Nogle er direkte tilgngelige, andre krver at man beder om dem, se Wright (2010) afsnit 5.9. Her nder man enheder til syntetisk kemi, hjenergi fysik o.a. Afsnittet forklarer ogs hvordan man beder om at f adgang til dem. Det er ogs muligt at denere sine egne enheder, enten som forkortelser som man ofte anvender, eller helt nye enheder. Dette er forklaret i Wright (2010) afsnit 5.9.
Vrdier med enhed

Nu har vi allerede set hvordan tal og enheder skrives. Den mest almindelige mde at anvende syntaksen er s at anvende \SI{ vrdi }{ enhed } med den benlyse syntaks. Man kan se \SI{ vrdi }{ enhed } som vrende nogenlunde det samme som \num{ vrdi }\si{ enhed } (hvilket dog ikke er helt rigtigt).
\usepackage{siunitx} \sisetup{per=slash}
slut preamble

35 mol/l

Eksempel 10.7

\SI{35}{\mole\per\litre}

3 En anden fordel med den lange syntaks er for blinde! Der laves pt. forsg med at udvide den traditionelle

6-punkt blindeskrift til 8-punkt (se http://www.sensus.dk/latex1), sledes at man fr plads til at beskrive A matematik og enheder via L TEX-kode.

253
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

10. Diverse

Tabel 10.1: Nogle enheder

Enhed/makro

Symbol

Enhed/makro
\metrea \kelvin

Symbol m K

Enhed/makro
\second \ampere

Symbol s A

De syv SI grundenheder \kilogram kg \mole mol \candela cd Aedte enheder


\becquerel \newton \pascal \gray \hertz \tesla \katal \weber

Bq N Pa Gy Hz T kat Wb

\lux \ohm \farad \siemens \steradian \joule \watt

lx F S sr J W

\celsiusb \coulomb \radian \sievert \henry \volt \lumen

C rad Sv H V lm

Fra fysiske eksperimenter \electronvolt eV Accepterede enheder \bel B \hour h \minute min \percente % Midlertidige enhederf \angstrom \barn b \radian rad

\atomicmassunit

u d l
\degree \literd \neper \tonne

\day \litre \arcminute \arcsecond

L Np t bar mmHg

\decibel \hectare

dB ha

\bar \mmHg

Note 1: Bemrk at siunitx desuden denerer en del forkortelser, a la \kg, eller \MHz, se tabel 10.3. Note 2: Husk at enheder s som fahrenheit ikke er en SI-enhed og derfor ikke understttet af sinutx. Man man kan sikkert nemt selv denere den hvis man har brug for den i en undervisningssituation. a alias: \meter b alias: \degreeCelsius d bemrk forskellen i forhold til \litre e ja, % er faktisk en enhed og br behandles som sdan. f betegnelsen midlertidig gr vist p at disse ikke helt er raticeret af SI, se Wright (2010) afsnit 20.

254
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

Vrdier med enhed

Tabel 10.2: Enheds prexer

Makro
\yocto \zepto \atto \femto \pico \nano \microa

Vrdi 1024 1021 1018 1015 1012 109 106 103 102 101

Symbol y z a f p n m c d

Makro
\deca \hecto \kilo \mega \giga \tera \peta \exa \zetta \yotta

Vrdi 101 102 103 106 109 1012 1015 1018 1021 1024

Symbol da h k M G T P E Z Y

\milli \centi \deci

Note: Makronavnet angiver ogs navnet p prexet. a Bemrk hvordan denne automatisk giver os et opretstende som er det korrekte tegn for mikro. Udseendet af denne kommer an p fonten som man anvender. Se Wright (2010).

Tabel

10.3:

Nogle

sammensatte

configurations=abbreviations)

og

forkortede

enheder

(krver

load-

Lang
\kilogram \nanometre \millimetre \kilometre \microsecond \milliampere \millilitre \hertz \kilohertz \gigahertz \kilovolt \millielectronvolt \megaelectronvolt

Kort
\kg \nm \mm \km \us \mA \ml \Hz \kHz \GHz \kV \meV \MeV

Symbol kg nm mm km s mA ml Hz kHz GHz kV meV MeV

Lang
\milligram \micrometre \centimetre \second \millisecond \kiloampere \millihertz \megahertz \millivolt \kilojoule \kiloelectronvolt

Kort
\mg \um \cm \s \ms \kA \mHz \MHz \mV \kJ \keV

Symbol mg m cm s ms kA mHz MHz mV kJ keV

Note 1: Flere forkortelser kan ses i Wright (2010) tabel 20.

Tabel 10.4: Predenerede potenser

Makro
\squared \square \cubic \cubed

Eksempel
\si{\metre\squared} \si{\square\metre} \si{\cubic\metre} \si{\metre\cubed}

Resultat m2 m2 m3 m3

Fr/efter efterstillet foranstillet efterstillet foranstillet

Note: I (Wright, 2010, afsnit 7.3) kan man nde makroer til enten generelt at denere ere potenser, eller makroer til hurtigt at skrive en ny potens inline.

255
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

10. Diverse

10.2

Komma som separator i decimaltal

Egentlig siger dansk retskrivning at p dansk skal decimaltegnet i decimaltal vre komma og ikke punktum som anvendes p engelsk.4 Det gr jo nt s lnge at man skriver decimaltallet i almindelig tekst 23,95. Gr man det derimod i matematik s er kommaet jo et tegnstningstegn som automatisk indstter noget mellemrum efter kommaet: 23, 95. Den bedste lsning p dette er at anvende \num (beskrevet p side 252), man omkranser simpelthen hver af disse talvrdier med makroen, og kan s styre formateringen af disse globalt i dokumentets preamble. Eller man kan vlge helt at g over til at anvende punktum som decimaltegn, dette kan man s skrive i sin opgave (f.eks. med begrudnelssen om at dette er hvad mange af ens programmr gr brug af).
10.3 Navngivne variable og enheder

I et tidligere kapitel nvnte vi hvordan navngivne funktioner skulle skrives med en ikke-kursiv opretstende font. Der glder tilsvarende anbefalinger vedr. variable indiceret via et ord, samt mere vigtigt ved fysiske enheder. Dette vil vi kigge lidt nrmere p i dette afsnit.
Navngivne variable

Det vi her henviser til er hvordan man f.eks. navngiver den maksimale radius Rmax p den mest fornuftige mde. Vi har to regler som skal overholdes: P den ene side skal vi have adgang til alle tegn, ogs , og teksten skal skrives ikke-kursivt. Resultatet man s kommer frem til er \textup.5 Vi ender alts op med \textup som slet og ret betyder ikke-kursiv. Det man skriver er bliver noget lignende X_{\textup{max}}. Med mindre man har en god editor (som giver nemt adgang til \textup, s bliver man hurtigt trt af altid at skulle skrive _{\textup{max}}. Via Enrico Gregorio, Donald Arseneau og sluttelig Morten Hgholm, er vi derfor kommet frem til flgende tip:
Kodetip 10.1
\makeatletter \begingroup \catcode`\_=\active \protected\gdef_{\@ifnextchar|\subtextup\sb} \endgroup \def\subtextup|#1|{\sb{\textup{#1}}} \AtBeginDocument{\catcode`\_=12 \mathcode`\_=32768 } \makeatother

Dette udvider funktionaliteten af subscript i matematik-mode sledes at $X_{max}$ giver det almindelige (og forkerte) Xmax , mens hvis vi erstatter {}erne med et par af |er s f man subscript med \textup, vi forudstter naturligvis at man anvender amsmath. Se Eksempel 10.8.

4 Der er dog mange som i dag konsekvent anvender punktum, da det s er nemmere at anvende samme data

mellem ere sprog.


5 Nogle ville mske have anvendt \text, \mathrm eller \textrm, men de har hver isr fejl og mangler som gr

dem irrelevante. \text bliver kursiv hvis den omkringliggende tekst er kursiv, \mathrm understtter ikke , mens \textrm skifter til romansk/antikvask tekst, hvilket kan give problemer hvis nuvrende tekst er sans-serif.

256
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

Versionskontrol

\[ X_{max} \qquad X_|max| \]

Xmax

Xmax

Eksempel 10.8

Man skal huske at nu kan man s ikke lngere anvende X_| her skal man i stedet skrive X_{|} for at f X| . Man skal vre opmrksom p at tricket ikke kan anvendes sammen med alle pakker. Der kan sandsynligvis blive problemer med pakken breqn.
10.4 Versionskontrol

A Som nvnt i indledningen har L TEX, ikke indbygget versionskontrol. Men dette betyder ikke, at man ikke har brug for versionskontrol til sine projekter, det er en rigtig god ide at man gr. Det mest gngse system til versionskontrol pt. er Subversion (et endnu mere moderne alternativ er Git). Fordelen ved versionskontrol er at man kan flge udviklingen af projektet, kan ses hvad der er ndret mellem hver revision og hvorfor (hvis man srger for at skrive sine kommentarer ordentligt). En anden fordel (i hvertfald hvis man har adgang til f.eks. et subversion depot/repository) er at man nemt kan vre ere om det samme projekt, s en gruppe kan arbejde p samme dokument samtidigt og s synkronisere sine ndringer med depotet. Mange institutter/universiteter tilbyder deres studerende adgang til versions kontrol. De este versionskontrolsystemer kan kongureres til at placere revisionsinformaA tioner i de ler som ligger under versionskontrol. Der ndes forskellige L TEX-pakker som herefter kan hente denne information ud af en given l og stille den tilrdighed i teksten. Dette kunne vre: revisionsnummer, seneste revisionstidspunkt, hvad hed brugeren som lavede den sidste ndring. The PracTEX Journal, 2007-3 indeholder en masse artikler om brugen af Subversion A i forbindelse med L TEX projekter, udgaven kan ses via http://www.tug.org/pracjourn/ 2007-3/. Isr artiklen, Version Control of LaTeX Documents with svn-multi af Martin Scharrer (Scharrer, 2007) giver en god indfring i brugen af Subversion for bde Linux og Windows brugere, samt forklarer hvordan man kan anvende pakken svn-multi til at f fat p revisionsnumre etc. A Nr man arbejder med L TEX er der jo en masse autogenererede ler, .aux, .log etc. Disse behver ikke at komme under versionskontrol (de bliver jo automatisk regenereret hvis de mangler). De ler som man br lgge under versionskontrol er de ler som ikke automatisk genereres udfra andre ler i projektet. Dvs. dette er .tex-ler, egne pakker, kongurations ler, dataler og programkode (hvis man har brug for dette), gurer. Har man derimod f.eks. gurer lavet i METAPOST (og man har kildekoden til gurerne), s er der jo ikke nogen grund til at lgge selve METAPOST-tegningerne under versionskontrol, gem i stedet METAPOST-kildekoden, s kan gurerne regenereres derfra. Dette er hvad der er gjort ved denne bog. Her har vi et subversion depot med .tex-ler, litteraturdata (.bib), kongurationsler til diverse programmer, navnene A p nogle biblioteker som skal eksistere (men L TEX fylder dem selv med indhold), METAPOST-ler for alle tegninger i bogen, specielle egne pakker samt nogle scripts som anvendes til at bygge bogen. Resten ignoreres da de kan genereres ud fra de andre ler. I mit depot til bogen er der pt. 93 ler, hvilket vokser til mellem 2200 og 2500 ler nr alt er oversat.

Sidebemrkning 10.2.

257
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

10. Diverse

A Introduktion til L TEX ligger naturligvis i Subversion. Sidder man med et stort projekt som dette, hvor man stiller beta versioner tilrdighed for folk, s kan det vre en ide at srge for at lseren kan se hvornr man sidst har ndret noget i de enkelte kapitler. Dette er ret nemt med subversion og svn-multi. Frst srger man for at sl subversion keywords til som beskrevet i Scharrer (2007). Herefter stter man flgende i toppen af hver side (man kan bare slette det som der st mellem : og det sidste $).

Tip 10.3.

Eksempel 10.9

\svnidlong {$HeadURL: file:///home/daleif/svn-repos/ltxb/trun/diverse.tex $} {$LastChangedDate: 2010-10-30 14:43:20 +0200 (Sat, 30 Oct 2010) $} {$LastChangedRevision: 739 $} {$LastChangedBy: daleif $}

Nr man nu lave en subversion update af sit projekt, s vil Subversion automatisk opdatere/indstte relevant information. Via interfacet fra svn-multi kan vi nu f fat p dette og vi kan bruge det i dokumentet, f.eks. ved at pille ved pagestylen (i et memoir dokument):
Eksempel 10.10
\usepackage[filehooks]{svn-multi} \usepackage{xcolor} \newcommand\addRevisionData{% \begin{picture}(0,0)% \put(0,-10){% \tiny% \expandafter\@ifmtarg\expandafter{\svnfiledate}{}{% \textcolor{darkgray}{Kapitlet er sidst opdateret \svnfileyear/\svnfilemonth/\svnfileday \enspace \svnfilehour:\svnfileminute\ (revision \svnfilerev)} }% }% \end{picture}% } \makeoddfoot{plain}{\addRevisionData}{\thepage}{} \makeevenfoot{plain}{\addRevisionData}{\thepage}{}

Der ndes en del alternativer til svn-multi-pakken, f.eks. svninfo, som i modstning til den nuvrende version af svn-multi ikke gr brug af en en ekstra write A (skrivning til ekstern l, L TEX har en begrnset antal af disse).
10.5 Normalsider og anslag

A Nr man arbejder med L TEX, isr med matematik, tabeller og gurer, s er det min pstand at normalsider samt antal anslag ikke uden videre giver mening. Hvordan skal matematikken eller tabellerne tlles med? Skal der tlles i outputtet (DVI, PostScript eller PDF) eller skal der tlles i (dokumentdelen af) kildekoden (hvilket i hvertfald slet ikke giver mening)? Vedrrende normalsider s er disse ofte normalt deneret som et vist antal anslag eller ord pr. side (justeret for fontstrrelse og marginer). Men hvordan tller matematikken med? Hvis vi nu har flgende formel:
Eksempel 10.11
\[ \sum_{\substack{i\in K \\ j>i}} U_{ij} \]

Uij
iK j>i

258
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

Elektroniske slides

Tller dette s som to tegn (en sum og det summerer), ti tegn (alle tegnene i outputtet) eller skal man tlle det som ord? Umiddelbart giver det slet ikke mening at tage matematikken med i udregningen af normalsiderne, men har man masser af matematik s fr man jo temmelig f normalsider. Ulrich Diez opsummerer det meget nt p CTT A vedrrende automatisk ordoptlling i L TEX:
I think that beneath other aspects automatic word-counting requires algorithms for detecting which sequences of bits and bytes belong to a single writeable/drawable "expression for a concept". (Here a question might be what to consider a single writeable/ drawable expression for a concept e.g., how to treat hyphen-compound words and the like?) whether sequences of bits and bytes represent words at all or whether these sequences represent other kinds of writeable/ drawable expressions for a concept [e.g., acronyms or abbreviations; chinese writing; visible algebraic signs; smileys ;-) ; other ways of combining visible/writeable/drawable signs for symbolizing concepts]. Where can I learn more about such algorithms? Citeret fra http://groups.google.com/group/comp.text.
tex/msg/38fad3b276288843

Er man underlagt begrnsninger vedr. anslag eller normalsider, s ville jeg anbefale at man udbeder sig en specikation af hvordan man denerer normalsider og anslag, hvad skal tlles med og hvad skal ikke tlles med. Frst derefter kan man begynde at undersge hvordan man skal tlle dette.6 P ctan kan man nde programmet texcount som ser ud til at kunne lave interessante ting vedr. ordtlling i TEX-ler. Faktisk er der meget stor forskel p hvordan man denerer hvad en normalside egentlig er. En artikel i Universitetsavisen for Aarhus Universitet (2006), nummer 10, viser hvor stor forvirringen er, god kommentar fra studievejleder for naturvidenskab, Sven Skyum:
Normalsider!? Det gr vi ikke meget op i her hos os. Vi bedmmer p kvaliteten og gr ikke sdan og tller tegn. http://www.au.dk/campus/avis/2006/arkiv06/#10

Normalt er normalsider og anslagsangivelser ikke noget man skal vre bange for. De er oftest lavet for at folk enten (a) ikke skal skrive en hel bog7 , eller (b) ikke skal snyde ved at lave stor skriftstrrelse, eller stor linie afstand for nemt at kunne opn et bestemt antal sider. Der er dog visse steder hvor anslag og normalsider kan vre meget vigtigere, f.eks. i humaniora (lignende fag) eller journalistik, hvor det er vigtigt at man kan formulere sig kort og prcist.
10.6 Elektroniske slides

A Hvis man skal holde en prsentation og man nsker at anvende L TEX til at lave slides til PDF, s anbefales dokumentklassen beamer (alternativt kan man anvende powerdot 8 ).

beamer

6 Man kunne f.eks. lave dokumentet om til en PDF-l og s konvertere denne til ren tekst (det er der pro-

grammer som kan gre), og s man kan tlle p resultatet.


7 Et syndrom som undertegnede klart lider af. 8 Som er arvtageren til den tidligere meget anvendte klasse prosper , har dog personligt ikke den strre erfa-

ring med nogen af de to klasser.

259
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

10. Diverse

Klassen beamer er, som klassen memoir , meget veldokumenteret, og som bruger af beamer anbefales man naturligvis at gre sig bekendt med manualen. Beamer er et meget stort system, s vi har ikke plads til at g s meget ned i detaljer, s ud over de basale ting m man alts konsultere manualen. Ivrigt kan man nde et par af beamer -forfatterens egne foredrag (inklusive kildekoder) via
Anbefaling.
CTAN: /macros/latex/contrib/beamer/examples/

Det kan anbefales at man kigger indholdsfortegnelsen for Tantau (2005), igennem, s fr man et indtryk af hvad der er forklaret rundt omkring i manualen. Det er en god ide at lse afsnit 3: Euclids Presentation, det er kun otte sider, men man fr et indblik i tankegangen bag opbygningen af en prsentation med beamer . En anden god ting ved manualen er at forfatteren ogs tager sig tid til at skrive en vejledning til hvordan man skriver gode prsentationer. En af de mest almindelige fejl folk gr nr de laver prsentationer, er at inkludere alt for meget tekst. De forskellige sider i prsentationen er med til at understrege det man som foredragsholder str og siger, det er ikke meningen at folk skal sidde og lse en masse tekst, for s hrer de jo ikke efter hvad det er man har at sige. Nr man arbejder med elektroniske slides er der to koncepter man lige skal kende betydningen af: frame og overlay (vi vil anvende de engelske betegnelser). En frame svarer til en side eller skrmbillede i prsentationen, mens en overlay svarer til at man lgger et gennemsigtigt billede ovenp siden, dette kan s tilfje ekstra information til denne frame. Nogle kalder overlays for layers, alts lag. Beamer betegner layers som slides, men det er ret forvirrende p dansk s det vil vi ikke gre.
Sidebemrkning 10.4.

frame

Det klassiske eksempel er en liste, hvor selve punkterne ikke fremstr nr man skifter til framen, men hvor de dukker frem et efter et. Denne konstruktion kalder vi her en frame med overlays. I beamer laves en frame naturligt nok med environmentet frame som har flgende syntaks:
\begin{frame}[ \frametitle{ \end{frame}

\frametitle

options ] Titel } indholdet af denne frame

Titel-delen kan udelades. I standard kongurationen kommer det til at se sdan ud (strrelsesforholdet snyder, vi har pillet lidt for at spare plads):
Eksempel 10.12

\documentclass{beamer}
slut preamble

En titel
blah blah

\begin{frame} \frametitle{En titel} blah blah \end{frame}

Linien man ser nederst er an navigationslinie man kan anvende i f.eks. Adobe Reader. En anden ting man lgger mrke til at der automatisk anvendes sans serif fonte, det
260
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

Elektroniske slides

er simpelthen fordi det er det mest tydelige nr man forstrrer noget op p et lrred. En anden ting man skal bemrke er at de almindelige regler vedrrende god typogra ikke helt er gldende nr man laver prsentationer. F.eks. er der ingen orddeling og der er afstand mellem afsnit.
Sidebemrkning 10.5. Man skal ikke blive forskrkket over omfanget af papirstrrelsen som beamer anvender, den er p 128 mm 96 mm, svarende til forholdet

4 : 3 som det er de este projektorer arbejder med. Det er s meningen at f.eks. Adobe Reader forstrer materialet op til fuld skrmstrrelse. Layoutet er en smule kedeligt, men kan piftes gevaldigt op med themes (temaer):
\documentclass{beamer} \usetheme{Frankfurt} \useoutertheme[subsection=false, footline=authortitle]{miniframes}
slut preamble

En titel
blah blah

Eksempel 10.13

\begin{frame} \frametitle{En titel} blah blah \end{frame}

De forskellige temaer kan man lse mere om og se eksempler p i Tantau (2005). P forsiden af prsentationen nsker man ofte at have oplysninger om hvem man er og hvor man kommer fra. S i beamer skriver man sine oplysninger i preamblen via flgende makroer (se ogs afsnit 9.1 i Tantau (2005)): kort titel ]{ lang titel } \subtitle{ undertitel } \author[ kort navn ]{ langt navn } \institute[ kort tekst ]{ lang tekst } \date[ kort dato ]{ lang dato }
\title[
\title \subtitle \author \institute \date

De korte titler kan anvendes i automatisk generet sidehoved/fod, dette er noget som sttes op via de forskellige temaer. I de lange titler som man anvende \\ til at skifte linien. Man laver s selve forsiden via kommandoen \titlepage som man smider i en frame:

\titlepage

Eksempel 10.14
\documentclass{beamer} \usetheme{Frankfurt} \useoutertheme{infolines} \title{Beamer test} \author[daleif]{Lars Madsen} \institute[IMF]{Institut for Matematisk Fag} \date{I dag}
slut preamble

Beamer test
Lars Madsen
Institut for Matematisk Fag

\begin{frame} \titlepage \end{frame}


daleif (IMF)

I dag
Beamer test I dag 1/1

261
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

10. Diverse

Bemrk eekten af det anderledes ydre tema, se Tantau (2005), afsnit 15.2. Hvis man har brug for at fremvise kildekode i en frame, s skal man lige huske at tilfje optionen fragile til frame-environmentet, alts
Tip 10.6.
Eksempel 10.15
\begin{frame}[fragile]

s kan man anvende f.eks. listings indeni en frame. Man skal ogs huske fragile hvis man anvender \verb eller verbatim-environmentet.

Layers
9

En trinvis punktopstilling (som er noget af det mest anvendte i en prsentation) kan laves p ere mder. Man kan selv skrive hvilket lag et punkt skal vre p:
Eksempel 10.16
\begin{itemize} \item<1-> Punkt 1 \item<2-> Punkt 2 \item<3-> Punkt 3 \end{itemize}

Her betyder f.eks. <1-> ar dette punkt skal fremvises fra lag 1 og frem (for netop denne frame). Havde man skrevet <1-2> s ville punktet kun blive fremvist p lag 1 og 2, men ikke fra lag 3 og frem. Tilsvarende ville hhv. <-3> og <2> vise punktet frem til og med lag 3 hhv. kun blive fremvist p lag 2. Dette kan dog blive trls i lngden s man kan ogs gre det automatisk, se Eksempel 10.17.
Eksempel 10.17
\begin{itemize}[<-+>] % automatisk trinvis fremvisning \item Punkt 1 \item Punkt 2 \item Punkt 3 \end{itemize}
\pause

Har man en mere almindelig tekst s kan man anvende \pause, alt efter \pause kommer frst med p det nste layer (makroen er dog ikke s eksibel som mange af de andre layer makroer).
blah blah \pause nisse nisse

Eksempel 10.18

P frste layer str der blah blah, p andet layer (aktiveret med \pause) str der s blah blah nisse nisse. Med makroen
\uncover<

\uncover

layer info >{ tekst }

kan man indstte noget tekst som frst bliver vist frem p et bestemt layer. Se desuden Tantau (2005), afsnit 8, her kan man ogs lre med om layer info -syntaksen. nsker man at lave en trinvis fremvisning af en lang udregning i en align, s skal man passe lidt p. For det frste bliver man ndt til at omkranse hver rkke i udregningen (inklusiv \\) i en \uncover<...>{ kode }-konstruktion,10 desuden anbefales det at man undlader at anvende formelnumre i dette tilflde.
9 FiXme Note: det kan vre en ide at nvne noget vedr. eekter med layers, k en mail om det for lang tid

siden
10 Det har noget med den mde align fungerer internt.

262
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

Stninger

\begin{align*} \uncover<1->{ f(x) & = g^2(x) + ... \\} \uncover<2->{ \uncover<3->{ \end{align*} & = -\sqrt{-1}^n + ... \\} & = 0 }

Eksempel 10.19

Se Tantau (2005), afsnit 22.4, hele afsnit 22 handler om hvordan man fremviser ting og sager trinvist. Hvis man har formelnumre med i opstillingen s sker der meget underlige ting, hvilket man selv kan teste.
Stninger

I bemaer er der allerede deneret en masse stningskonstruktioner som man frit kan anvende. Ved at anvende layer instruktionerne (i.e. dette med <...>) s kan man nemt bestemme hvordan tingene bliver vist frem. I Eksempel 10.20 skal man bemrke at temaet ogs pvirker hvordan stningerne ser ud.
\documentclass{beamer} \usetheme{Luebeck}
slut preamble

Eksempel 10.20

Lemma (Zorns lemma) Zorn er det bare. Bevis. benlyst.

\begin{frame} \begin{lemma}<1->[Zorns lemma] Zorn er det bare. \end{lemma} \begin{proof}<2-> benlyst. \end{proof} \end{frame}

Her vil lemmaet blive vist frem fra layer 1, hvorimod beviset frst kommer fra layer 2, bemrk desuden at Eksempel 10.20 viser layer 2! En anden ting man skal bemrke er at de prdenerede stningskonstruktioner (se Tantau (2005), afsnit 11.4) alle str p engelsk. nsker man at anvende danske navne gr man som i Eksempel 10.21, bemrk brugen af notheorem klasse-option.
\documentclass[notheorems]{beamer} \usetheme{Luebeck} \newtheorem{theorem}{Stning}
slut preamble

notheorem
Eksempel 10.21

Stning Meget smart stning. Bevis. Kompliceret bevis.

\begin{frame} \begin{theorem}<1-> Meget smart stning. \end{theorem} \begin{proof}<2-> Kompliceret bevis. \end{proof} \end{frame}

Opdeling af prsentationen

Man kan anvende de almindelige \section og \subsection til at opdele sin prsentation, de placeres udenfor frame-environmentet. Man kan s f beamer til at skrive en mini-indholdsfortegnelse i f.eks. toppen af hver frame, det kommer an p det tema man anvender, den kunne ogs nemt s i en sidebar. Dette er ogs beskrevet i Tantau (2005), se afsnit 15.2. Eksempelvis:
263
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

10. Diverse

Eksempel 10.22

\useoutertheme[subsection=false, footline=authortitle]{miniframes}

Denne konguration viser alle \section-titler (indenfor en given \part) i en par i toppen af de enkelte frames. Kombinerer man med brugen af \subsection{ titel } s markeres hver frame med en lille cirkel, hvor den aktive er markeret med en fyldt cirkel. Grupper af disse cirkler fremhves s alt efter hvor man har placeret sine \subsection{ }. Selve \subsection-titlen vises ikke (subsection=false). Bemrk at visse temaer har allerede miniframes indbygget/indlst, dette kan man ofte se af billederne i Tantau (2005), afsnit 14.
Eksempel 10.23
\documentclass{beamer} \usetheme{Frankfurt} \useoutertheme[subsection=false, footline=false]{miniframes}
slut preamble
Intro Main

Test
blah blah

\section{Intro} \subsection{Test} \begin{frame} \frametitle{Test} blah blah \end{frame} ...

Animationer

animate

Man siger at et billede er bedre en tusind ord. I specielle tilflde kan animationer ogs vre meget informative. Her kan det anbefales at tage et kig p pakken animate, som kan hentes via ctan, se Grahn (2008). En hurtig animation lavet af en serie af f.eks. METAPOST-billeder kan laves via
\usepackage{animate}
slut preamble

Eksempel 10.24

\animategraphics{1}{with_handles2-}{0}{6}

hvor with_handles2- er et lnavnsprex, sledes at animationen er lavet via lerne with_handles2-0.pdf til with_handles2-6.pdf. Selve beamer -klassen har ogs visse metoder indbygget til at lave animationer med, se Tantau (2005), afsnit 14.
Handouts

handout

Nr man laver en prsentation s er det en god ide at lave nogle trykte eksemplarer til uddeling blandt tilhrerne. Det kan endda vre smart at efterlade plads p disse print til tilhrens egne noter. Da de este prsentationer anvender layers i en eller anden form, giver det problemer hvis man printer et sdant dokument, hvert layer kommer ud som en side for sig selv. Dette er bde drligt for miljet og irriterende for lseren. Klassen beamer lser dette ved at tilbyde en klasse-option kaldet handout. Nr denne er aktiveret vil layers helt forsvinde og man vil i stedet se det fulde indhold af hver frame (svarende til det allersidste layer i hver frame). Man skriver alts bare
\documentclass[handout]{beamer}

Eksempel 10.25

264
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

Omvej

og s overstter man sit dokument igen. Handouts er nrmere beskrevet i Tantau (2005), afsnit 20. Nste problem bliver jo s at hver frame har en ret lille strrelse, se bemrkning 10.5. Men p den anden side s lgger dette jo op til at man sparer noget papir ved at placere ere slides p en side. Indbygget i beamer har man kongurations muligheder sledes at vi kan lave specielle kongurationer til nr man har aktiveret handout og andre kongurationer som glder dokumentet i alle modes. Rasmus Villemoes har indsendt flgende trick som skal placeres i preamblen, den smider 8 frames p een side og stter et sidetal nederst.
\mode <handout> \usepackage{pgfpages} \pgfpagesuselayout{8 on 1}[a4paper,border shrink=4mm] \setbeamertemplate{footline}[page number] \mode <all>

Eksempel 10.26

Pakken pgfpages er en del af PGF som man allerede har, da den er pkrvet af beamer . Den er nrmere beskrevet i Tantau (2007), afsnit 36. Ved at kigge lidt p koden til 8 on 1 er vi kommet frem til Kodetip 10.2 som kan stte re frames op i en 4 2 matrix, hvor hjre sjle er tom (skal anvendes til noter). S skal man tage Eksempel 10.26, erstatte 8 on 1 med 4 on 1 with space for notes samt placere koden fra KOdetip 10.2 efter \usepackage{pgfpages} og fr den anvendes i \pfgpageuselayout. Konstruktionen med pgfpages kan ogs anvendes sammen med almindelige dokumenter, det behver ikke vre beamer -slides.
Sidebemrkning 10.7.

pgfpages

Omvej

Det krver stor erfaring at vide prcist hvad man kan n ved en prsentation eller en forelsning. I AUs universitetsavis Campus 19/2007 (Universitetsavisen for Aarhus Universitet, 2007) var der en diskussion for og imod brugen af PowerPoint og lignende, et af problemerne som er ppeget er at ved brugen af slides er det svrt at lave omveje i sin undervisning. Men dette kan man jo planlgge sig ud af. Beamer-klassen stiller forskellige redskaber tilrdighed sledes at man kan lave knapper der sender en p kryds og tvrs i prsentationen, dette kan f.eks. vre en knap som siger Skip proof for at hoppe over beviset for en stning. Det kan vre en udugt ned i et appendix, hvori man s srger for at lave sig en knap som pege tilbage igen. Dette er nrmere forklaret i Tantau (2005), afsnit 10.
Transparenter

Man kan godt lave transparanter med beamer , man skal bare tilfje klasse option trans, se Tantau (2005), afsnit 19. Man kan ogs lave transparenter p mange andre mder. DK-TUG-foredraget om memoir (Madsen, 2003) har slides lavet direkte i memoir og efterbehandlet med programmet ppower4. Disse slides kunne ogs nemt printes p transparanter.
265
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

trans

10. Diverse

Kodetip 10.2

\pgfpagesdeclarelayout{4 on 1 with space for notes} { \edef\pgfpageoptionheight{\the\paperwidth} % landscaped by default \edef\pgfpageoptionwidth{\the\paperheight} \def\pgfpageoptionborder{0pt}} { \pgfpagesphysicalpageoptions{logical pages=4,% physical height=\pgfpageoptionheight,% physical width=\pgfpageoptionwidth} \ifdim\paperheight>\paperwidth\relax % put side-by-side \pgfpageslogicalpageoptions{1}{% border shrink=\pgfpageoptionborder,% resized width=.25\pgfphysicalwidth,% resized height=.5\pgfphysicalheight,% center=\pgfpoint{.125\pgfphysicalwidth}{.75\pgfphysicalheight}}% \pgfpageslogicalpageoptions{2}{% border shrink=\pgfpageoptionborder,% resized width=.25\pgfphysicalwidth,% resized height=.5\pgfphysicalheight,% center=\pgfpoint{.625\pgfphysicalwidth}{.75\pgfphysicalheight}}% \pgfpageslogicalpageoptions{3}{% border shrink=\pgfpageoptionborder,% resized width=.25\pgfphysicalwidth,% resized height=.5\pgfphysicalheight,% center=\pgfpoint{.125\pgfphysicalwidth}{.25\pgfphysicalheight}}% \pgfpageslogicalpageoptions{4}{% border shrink=\pgfpageoptionborder,% resized width=.25\pgfphysicalwidth,% resized height=.5\pgfphysicalheight,% center=\pgfpoint{.625\pgfphysicalwidth}{.25\pgfphysicalheight}}% \else % stack on top of one another \pgfpageslogicalpageoptions{1}{% border shrink=\pgfpageoptionborder,% resized width=.5\pgfphysicalwidth,% resized height=.25\pgfphysicalheight,% center=\pgfpoint{.25\pgfphysicalwidth}{.875\pgfphysicalheight}}% \pgfpageslogicalpageoptions{2}{% border shrink=\pgfpageoptionborder,% resized width=.5\pgfphysicalwidth,% resized height=.25\pgfphysicalheight,% center=\pgfpoint{.25\pgfphysicalwidth}{.625\pgfphysicalheight}}% \pgfpageslogicalpageoptions{3}{% border shrink=\pgfpageoptionborder,% resized width=.5\pgfphysicalwidth,% resized height=.25\pgfphysicalheight,% center=\pgfpoint{.25\pgfphysicalwidth}{.375\pgfphysicalheight}}% \pgfpageslogicalpageoptions{4}{% border shrink=\pgfpageoptionborder,% resized width=.5\pgfphysicalwidth,% resized height=.25\pgfphysicalheight,% center=\pgfpoint{.25\pgfphysicalwidth}{.125\pgfphysicalheight}}% \fi }

266
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

Statistik

10.7
11

Statistik

Der ndes forskellige smpakker rundt omkring som samler lidt statistisk notation sammen. Jeg vil dog personligt vurdere at de ofte ikke er besvret vrd, de makroer man skal bruge kan man lige s godt lave selv. En ting man skal huske indenfor statistik er at srge for at f lavet alle funktionsnavne lavet om til operatorer, dette glder f.eks. Var, Cor etc. Visse steder er der desuden tradition for at middelvrdien E ogs skrives som en operator (alts ikke i kursiv). Vi minder derfor om \DeclareMathOperator, se afsnit 3.2.4. I statistik (ihvertfald p IMF ved AU) er der desuden tradition for at anvende visse specielle forkortelser f.eks. (se Blsild og Granfeldt (2003) side 64)
n

SSD =
i=1

(xi x. )2

Som man kan ane ser SDD ikke helt optimalt ud. Det mest fornuftige ville vre at det blev skrevet enten ikke-kursivt, eller i det mindste uden dette alt for store mellemrum mellem bogstavernde. Det mest fornuftigte er at lave sig en ny kommando
\newcommand{\SDD}{\textup{SDD}}

Evt. kunne man have anvendt \mathit.


\[ \textup{SSD} \quad \mathit{SSD} \]

Eksempel 10.27

SSD SSD

Eksempel 10.28

Jeg synes ikke at man skal skrive det som bare $SSD$, netop fordi det kan misforsts som S S D og fordi teksten (alt efter hvilke bogstaver der anvendes) kommer til at se forkert ud, eksempelvis dif f ($diff$). Nr vi nu er ved statistik, s er der jo syntaksen med x. , dette betyder at man har summet et indeks ud. Men problemet er jo at punktummet let kan drukne. Omvendt er alt for stor. Men et fedt punktum vil sikkert kunne anvendes:
\[ X_{\bm{.}} \quad X_. \quad X_\bullet \]

X.

X.

Eksempel 10.29

Lav selv genvejen \bdot.


Statistikprogrammer

Vi har allerede kigget lidt p hvad man kan gre med SAS (afsnit 9.10.2). Et andet Statistik program som vinder strre og strre udbredelse er R (det hedder det faktisk). R er en open source implementation af S-plus (et andet statistik program), se http: //www.r-project.org. Som en del af en R-installation nder man Sweave som bde er navnet p en A R-funktionalitet samt en pakke til L T X. Den generelle ide er at man kan skrive en E A speciel l, som egentlig er en rapport skrevet i L TEX men hvor der visse steder str noget R-kode, dette kres s i gennem et program (R med Sweave), hvorefter R-koden fortolkes, f.eks. kunne den lave en simulation hvorefter programmet s indstter en
11 FiXme Note: dette skal gennemgs og drftes med granfeldt og blsild

Sweave

267
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

10. Diverse

A gur i stedet for R-koden. Ud i den anden ende fr man f et L TEX dokument/l som AT X. bare skal kres igennem L E For mere information om Sweave se http://www.r-project.org samt http://www. ci.tuwien.ac.at/~leisch/Sweave/. Pakken Sweave distribueres sammen med R programmet og er derfor normalt ikke A en del af ens L TEX-installation. Derfor kan det vre ndvendigt at angive fuld sti for at hente pakken. P vores Linux system virker flgende
Eksempel 10.30
\usepackage{/usr/lib/R/share/texmf/Sweave}

Selve pakken giver bare nogle environments, bl.a. to verbatim environments til fremvisning af R-kode og R-output. Disse to kan sagtens omkongureres til f.eks. at se ud som SAS-kodestumper kommer til at se ud med SASdisplay. Flgende kan placeres efter SASdisplay og Sweave, se kodetip 10.3.
% deaktiver environments fra Sweave \let\Soutput\relax \let\Sinput\relax \newcounter{Routput} \lstnewenvironment{Soutput}[1][]{% \refstepcounter{Routput}% \newcommand\mylstname{\small R-udskrift \theRoutput}% \lstset{style=SASdisplayBasic, columns=fixed, title=\mylstname, basicstyle=\SASOutputFont, language={}, #1}% }{} \newcounter{Rcode} \lstnewenvironment{Sinput}[1][]{% \refstepcounter{Rcode}% \newcommand\mylstname{\small R-kode \theRcode}% \lstset{style=SASdisplayBasic, columns=flexible, title=\mylstname, basicstyle=\SASCodeFont, language=R, keywordstyle=\normalfont\bfseries\ttfamily, #1}% }{}

Kodetip 10.3

edu/~rlenth/SASweave/.12

Sidebemrkning 10.8.

Der ndes noget ligende for SAS, se http://www.cs.uiowa.

10.8

Lidt fysik og kemi

Andre kan sikkert ogs have glde af visse dele.


Kemiske forbindelser

mhchem

Grundstofnavne br som hovedregel ogs altid skrives med upright font.13 Dette bliver hurtigt bvlet hvis man skal gre det pr. hndkraft (eks. $\textup{H}_2\textup{O}$). Hvilket der selvflgelig ogs er andre som synes. Man kan i stedet anvende pakken mhchem. Vi vil behandle version 3, som aktiveres via
\usepackage[version=3]{mhchem}

12 Tak til Jrgen Granfeldt for dette link. 13 Her gr det ikke s meget om det er tekst- eller matematikfont, da der kun er tale om bogstaverne a til z.

268
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

Kemiske forbindelser

Brugen af pakken bestr af makroen \ce{ tekst } hvor indholdet af tekst s fortolkes p forskellig vis. Frst et simpelt eksempel.
\usepackage[version=3]{mhchem}
slut preamble

\ce

Eksempel 10.31

\ce{H2O} \quad \ce{H+} \quad\ce{AgCl2-} \quad \ce{^{14}_6C}\quad\ce{2Cl^2-}\quad \ce{Fe^{II}_{(qx)}}

H2 O

H+

AgCl2

14 6C

2 Cl 2

II Fe(qx)

\ce

vil anvende upright tekstfont nr \ce anvendes i tekstsammenhng og upright matematikfont nr \ce anvendes i matematik. Pakkens features tller alts (jf. eksempel 10.31): (i) Tal som ikke str frst i argumentet til \ce laves automatisk til subscript. Hvis tallet str frst i strengen skrives den bare som normalt. (ii) I slutningen af argumentet til \ce vil tegnene + og - automatisk skrives som superscript. (iii) \ce kan sagtens skrive isotoper rigtigt, sammenlign flgende (atomnummeret)
\usepackage[version=3]{mhchem}
slut preamble

$^{227}_{90}\textup{Th}$ versus $\ce{^{227}_{90}Th}$

227 90 Th

versus

227 90Th

Eksempel 10.32

hvor vi for sammenligningens skyld har skrevet begge dele i matematikmode. Man kan dog lave mange ere ting. Her er nogle ekstra ting man br vide (a) Tal kan tvinges i superscript og +, - kan tvinges ned i subscript via den normale ^ hhv. _ syntaks. (b) Punktum (.) eller stjerne (*) laves automatisk om til gangetegn (). (c) Skriver man + eller - med mellemrum fr og efter s fr man et almindeligt +/. (d) Bindinger kan angives via -, = eller # som giver hhv. , =, eller . Dog giver minus i slutningen af et udtryk stadigvk minus i superscript. Se desuden Hensel (2005), for mere om bindinger. (e) Skriver man ^ med mellemrum fr og efter fr man tilsvarende giver v med mellemrum fr og efter . (f) Man kan lave reaktionspile via forskellige -> -typer, f.eks. -> , <-> , <=> , <=>> . Man kan endda skrive over og under via ->[over][under] . Mellemrummene er vigtige! (g) Da alle bogstaver skrives i upright, kan man anvende \cmath til at skrive almindeligt matematik. Igen henviser vi til Hensel (2005) for ere detaljer. Lad os slutte af med et eksempel.

269
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

10. Diverse

Eksempel 10.33

\usepackage[version=3]{mhchem} \usepackage{amsmath}
slut preamble

\begin{gather*} \ce{C6H5#ClZ}\\ \ce{\cmath{x\,} Na(NH4)HPO4 ->[\Delta] (NaPO3)_{\cmath{x}} + \cmath{x\,} NH3 ^ + \cmath{\dots}}\\ \ce{H+ + OH- <=>> H2O}\\ \ce{\cmath{A} ->[\cmath{+H2O}] \cmath{B}} \end{gather*}

x Na(NH4 )HPO4 (NaPO3 ) x + x NH3 + . . . H+ + OH H2 O A B


+H2O

C6 H5 ClZ

14

\cee

Der er ere eksempler i manualen. Forfatteren bag mhchem har lovet at ville kigge lidt nrmere p muligheden for at man kan lave alignment med labels, hvilket den nuvrende version ikke kan, den kan kun uden formelnumre. Bemrk brugen af \cee i stedet for den normale \ce.
\usepackage[version=3]{mhchem} \usepackage{amsmath}
slut preamble

Eksempel 10.34

\begin{align*} \cee{ CO2 + C & ->[\alpha] 2CO \\ CO2 + C & ->[][\beta] 2CO + X } \end{align*}

CO2 + C 2 CO CO2 + C 2 CO + X

Grak til fysik, kemi og elektronik


A Det ligger uden for rammerne af denne bog at g for meget i detaljer med de L TEXkonstruktioner som kan hjlpe med forskellige typer af tegninger til fysik, kemi og elektronik. Har man adgang til Goosens et al. (1997) s er der en del eksempler i den. Vi vil bare liste nogle ting man kan tage et nrmere kig p.

XYMTEX-systemet Dette er et system af pakker som anvendes til at tegne en masse kemiske forbindelser. Desvrre synes forfatteren bag XYMTEX ikke at pakken skal vre p ctan. Desuden er pakken ret svrt at installere. Dette er ret kedeligt, da pakken faktisk kan lave en masse spndende ting. En ldre version af pakkerne kan ndes via CTAN: /macros/latex/contrib/xymtex/, man kan ogs nde lidt information via http://en.wikipedia.org/wiki/XyMTeX. Vi havde i en tidligere version af bogen et eksempel p disse kemiske tegninger, men det er blevet fjernet da pakkerne ikke lngere distribueres sammen med A standard L TEX-distributioner. Andre p http://texcatalogue.sarovar.org/bytopic.html#charts kan man se en oversigt over forskellige systemer til f.eks. at tegne Feynman diagrammer eller til at tegne elektronik diagrammer.

14 FiXme Note: tjek lige at ovenstende er korrekt

270
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

Beskrivelse af algoritmer

10.9

Beskrivelse af algoritmer

Mange fr sikkert desuden brug for at skulle beskrive diverse algoritmer, ofte kaldet pseudokode. Vi vil beskrive pakken algorithmicx.
10.9.1 Brug af algpseudocode-pakken

pseudokode algorithmicx

Sjovt nok anvender man ikke pakken algorithmicx direkte, man anvender i stedet pakken algpseudocode i stedet, den tjener bare som en frontend for algorithmicx. Syntaksen som anvendes er meget simpel
\begin{algorithmic}[

algorithmicx algpseudocode

num ]

algorithmic

tekst
\end{algorithmic}

hvor tekst s skal skrives p en speciel mde. Argumentet [ num ] anvendes til at aktivere linienumre i algoritme beskrivelsen, disse kan dog stadigvk henvises til uden at vre synlige. Lad os tage et simpelt eksempel:
\usepackage{algpseudocode,amsmath}
slut preamble

Eksempel 10.35

\begin{algorithmic}[3] \Procedure{Euclid}{a,b} \State $r=a\mod b$ \label{start} \While{$r\neq 0$} \State $a=b$ \State $b=r$ \State $r=a\mod b$ \EndWhile \State \textbf{return} $b$ \EndProcedure \end{algorithmic} Linie \ref{start}\dots

procedure Euclid(a,b) r = a mod b 3: while r 0 do a=b b=r 6: r = a mod b end while return b 9: end procedure Linie 2. . .

Vi observerer at vi har nogle operations punkter som altid optrder i par, f.eks. \While og \EndWhile, hver af disse par eller makroen \State starter en ny linie, linierne bliver automatik indenteret indenfor et \ X . . . \End X -par. Rent teknisk er alle disse strukturer faktisk implementeret via lister, hvert makropar starter (og slutter) en ny liste og indholdet af denne bliver s indenteret. Indeni disse lister svarer \State s til \item. Bemrk ogs at kun hvert punkt i disse lister nummereres, det er ikke linienumre i gngs forstand.
10.9.2 Struktur konstruktioner

Bemrk at de makroer vi beskriver her passer til algorithmicx version 1.2, af 27. april 2005. Frst makroer som ikke har en \End X makker.
\State

anvendes til at lave nye punkter i beskrivelsen, tller desuden linienummeret en op.
271
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

10. Diverse

\Statex

som \State men ndrer ikke ved linienummeret, faktisk kommer der slet ikke noget nummer ved dette punkt. Anvendeligt til at indstte en blank linie.
\Require

anvendes foran start betingelser.


\Ensure

anvendes foran slutbetingelser. \Call{ navm }{ argument } anvendes til funktionskald, navnet bliver s formateret som ved \Procedure eller \Function, se nedenfor. \Comment{ tekst } til kommentarer. Udseendet kan ndres, se Jnos (2005). Makroerne ovenfor starter i sig selv ikke nogen ny liste. Vi mangler s de forskellige par-konstruktioner som hver isr starter en underliste. tekst }. . . \EndFor en for-lkke. \ForAll{ tekst }. . . \EndFor en variant. \While{ tekst }. . . \EndWhile en while-lkke. \Repeat. . . \Until{ tekst } selvforklarende \If{ tekst }. . . \ElsIf{ tekst }. . . \Else. . . \EndIf en if-konstruktion. Bemrk at det er \ElsIf og ikke \ElseIf nr man skal lave et betingelsestr. \Procedure{ navn }{ argumenter }. . . \EndProcedure til at navngive procedurer med. \Function{ navn }{ argumenter }. . . \EndFunction samme ved funktioner. \Loop. . . \EndLoop angivelse af en lkke.
\For{

Her er s et andet simpelt eksempel:


Eksempel 10.36
\begin{algorithmic} \If{$X\neq \emptyset$} \ForAll{$x\in X$} \State \textbf{return} $\tilde{x}$ \EndFor \Else\Comment{Mngden var tom} \State \textbf{return} 0 \EndIf \end{algorithmic}

if X then for all x X do return x end for else return 0 end if

Mngden var tom

Alle makroerne kan kongureres meget nemt, hvis man f.eks. nskede en konstruktion med danske ord i stedet for engelske. Dette er nrmere forklaret i manualen til algorithmicx, se Jnos (2005). Her forklares det ogs hvordan man laver sine egne ekstra makroer, blokke etc.
272
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

Flydende algoritmer
10.9.3 Flydende algoritmer
algorithm

Anvender man desuden pakken algorithm fr man et nyt oat environment algorithm som kan pakkes omkring en algoritme beskrivelse, hvorefter det yder omkring p samme mde som ved gure eller table. Pakken algorithm kan som pakke-options tage boxed, ruled og plain som alle pvirker hvordan den ydende algoritme beskrivelse ser ud. Algoritmerne i sig selv kan sagtens deles hen over en side, men det kan en oat jo ikke s her kan man blive ndt til at dele beskrivelsen i to. Men dette kan algorithmicx faktisk ogs nde ud af, se Jnos (2005), afsnit 2.6.
10.10 Interne hyperlinks

Til manualer og andre dokumenter som publiceres via nettet er hyperlinks i PDF yderst anvendeligt. Man skal anvende pakken hyperref og det anbefales at man srger for at dette er en af de sidste pakker man loader (s senere pakker ikke kommer til at overskrive noget). I de este tilflde vil man kunne njes med
\usepackage[colorlinks]{hyperref}

hyperref

Eksempel 10.37

Dette vil nu automatisk lave alle krydsreferencer, citeringer, indholdsfortegnelsen og indekset om til at vre interne hyperlinks som man nu kan klikke p i PDF. Bemrk at alt efter hvilken kompilerings proces man anvender (latex plus dvips, latex plus dvipdfm eller pdflatex) s kan det vre ndvendigt at angive en driver, se Rahtz og Oberdiek (2004) for mere information. Hyperref manualen vil desuden forklare om de forskellige kongurations muligheder man har.
Sidebemrkning 10.9.

Der er yderligere flgende bemrkninger:

(a) Anvender man \url fra url-pakken, s vil disse blive lavet om til eksterne URLer, som PDF lseren s kan sende videre til en browser. Da \url vil bryde URLen hvis den bliver for lang er det en god ide at hvis man anvender hyperref s skal man bruge optionen breaklinks. Hvis man desuden gr vejen om latex + dvips + ps2pdf skal man desuden anvende pakken breakurl efter hyperref. Denne vil srge for at for brudte eksterne URLer vil alle delene af URLen pege p det samme eksterne ml, dette sker automatisk hvis man anvender pdflatex, s der skal man alts ikke bruge pakken breakurl. Et muligt setup vil s vre
\usepackage{url} \usepackage[...,breaklinks]{hyperref} \usepackage{ifpdf} \ifpdf % pdflatex \else \usepackage{breakurl} \fi

breakurl

Eksempel 10.38

(b) Anvender man memoir -klassen (hvilket jeg selvflgelig formoder man gr) skal man huske at loade pakken memhfixc efter hyperref, thi ellers vil visse Memoir specikke features ikke lngere fungere.
Fortsttes p nste side 273
Kapitlet er sidst opdateret 2010/10/30 14:43 (revision 739)

memoir memhxc

10. Diverse

\addcontentsline

(c) Har man i sit dokument eller i sine makroer anvendt makroen \addcontentsline (se afsnit 11.3), s kan man f problemer med Hyperref, da hyperlinks skal have noget at holde fast i. Her skal man i stedet anvende
\phantomsection \addcontentsline...

Eksempel 10.39
\phantomsection

\phantomsection er normalt bare en tom makro (memoir

har den f.eks. med), men

den omdeneres passende af hyperref. Der kan ogs vre mange andre problemer, se evt. Rahtz og Oberdiek (2004). Det er en meget god ide at lse den README l som flger med hyperref, her kan man lse om mulige lsninger vedrrende brugen af hyperref i forbindelse med andre pakker, f.eks. varioref. Givet et stort projekt i PDF-format, fremvist i Adobe Reader, s har AR et lille vindue hvor den viser et sidetal. Har man en indledning nummereret med romertal, vil man opdage at projektets sidetal og de sidetal AR viser i den lille oversigt, ikke stemmer overens. Dette kan man kse med pakke-option plainpages=false til hyperref. S vil det lille vindue i stedet vise projektsidetal (fysiskside of totalt antal fysiske sider). Meget anvendeligt, hvilket vi ogs anvender til PDF-udgaven af denne bog.
Tip 10.10.

bookmark

Som standard laver hyperref bookmarks. Til tider (isr hvis man anvender \part) vil placeringen i bookmarktret vre en smule forkert. Her kan pakken bookmark hjlpe, pakken kan ndes p ctan som en del af oberdiek-bundtet.
Tip 10.11.

274

Strre projekter

Elvte Kapitel

Generel ndring af layout


Vi vil i dette kapitel se lidt nrmere p hvordan man ndrer p dokumentudseendet A i L TEX. Vi vil se p nogle standard konstruktioner til at ndre p[ marginer, headere, indholdsfortegnelse, overskrifter samt kse et par ting som standardklasserne ikke laver ordentligt. Vi skal i kapitel 13 se at alt dette i de este tilflde kan gres simplere1 via memoir klassen, men konstruktionerne man fr prsenteret her er generelle nok til at man kan anvende dem som udgangspunkt i mange andre sammenhnge. Anvender man memoir -klassen s br man anvende metoderne fra denne klasse i stedet for at anvende de metoder beskrevet i dette kapitel. Vi vil komme med forskellige kommentarer vedr. memoir undervejs Vi vil ikke g s langt ned i detaljerne, men i stedet henvise til de respektive pakkers brugermanualer, som kan ndes via litteraturlisten.
11.1 Opstning af marginer

A Nye L TEX-brugere bliver tit forvirrede over de marginer/tekstbredde og -hjde som klasserne anvender som standard. Der er isr to ting man undres over: (a) Teksten er ret smal, og (b) i et to-sidet dokument er den indre margin mindre end den ydre. Burde det ikke have vret omvendt? Teksten er smal fordi dette er mere behageligt at lse. Man kan diskutere om den ikke er lidt for smal, og personligt har jeg da ndret bredden i denne bog. Men eksperimenter viser at en tekstbredde svarende til mellem 45 og 75 tegn pr. linie er det optimale. Se Wilson (2010), afsnit 2.3. (b) er typogrask tradition og har vret det gennem de seneste 500r! Wilson (2010) har en strre gennemgang af de forskellige traditioner gennem tiden. Har man mulighed for at besge biblioteket p Institut for Matematiske Fag, Aarhus Universitet, s skulle man tage sig tid til at tjekke bachelorprojektet samt specialet for Emil Hedevang Lohse Srensen. De benytter begge en forholdsvis smal tekstbredde og er begge af en meget hj typogrask (og faglig) kvalitet, se Hedevang (2004, 2006).

Sidebemrkning 11.1.

Desvrre er der mange skabeloner i omlb som enten ikke har sat marginerne ret godt op eller direkte anvender hovedlse konstruktioner. Det, man kan komme ud for, er at skabeloner eller brugere stter marginerne op ved manuelt at pille ved en masse lngder. Dette kan nemt g hen og give problemer, s her er nedenstende lsning bedre. Lad os derfor se p hvordan man stter marginer op p en simpel mde. Visse klasser har selv et system til at stte marginer op med, f.eks. memoir mens KOMA-systemet anbefaler pakken setspace. Vi vil i stedet prsentere pakken geometry (marginopstningne med memoir kommer vi til i afsnit 13.3.2). Pakken kan anvendes p to mder:
1 I det mindste med hensyn til mngden af manualer man skal kende.

setspace geometry

277
Kapitlet er sidst opdateret 2010/01/08 14:11 (revision 502)

11. Generel ndring af layout

\usepackage[

options ]{geometry}

eller via
\usepackage{geometry}
\geometry

\geometry{

options }

Pakken geometry anvendes hovedsageligt ved at man angiver nogle lngder som vrdi til nogle af pakkens ngleord, hvorefter pakken omformer disse informationer til A ndringer af de rette L TEX-lngder. Pakken har en indbygget auto-completion2 feature som gr at man kun behver f.eks. at angive strrelsen p hhv. venstre- og hjremargin hvor efter tekstbredden automatisk beregnes. Eller man kan angive venstremargin, topmargin og tekstbredden s bliver resten automatisk justeret derefter. De vigtigste keys til key = lngde -par ses p gur 11.1.

top headsep textwidth

left

textheight

right

footskip bottom

paperwidth Figur 11.1: Oversigt over fortolkningen af options til geometry-pakken.

Flgende liste indeholder er par forklaringer samt nogle ekstra options. options delen af syntaksen p side 278 er en komma-separeret liste af keywords og/eller
2 Auto-completion betyder her at har man angivet visse af vrdierne hrende til gur 11.1, da srger pakken

selv for at fastlgge de resterende lngder ud fra disse vrdier.

278
Kapitlet er sidst opdateret 2010/01/08 14:11 (revision 502)

paperheight

Opstning af marginer

key = lngde -par.


headheight= headsep=

lngde : hjden af headerfeltet (ikke vist p tegningen). lngde : afstanden mellem toppen af tekstblokken og bunden af headerfel-

tet. lngde : afstanden mellem bunden af tekstblokken og bunden af omrdet hvori footeren placeres, der ndes ikke nogen lngde som styrer hjden af footerfeltet. margin= lngde : stter automatisk left = right = top= bottom = lngde paperwidth/paperheight= lngde : anvendes nr man nsker at anvende ikke standard papirstrrelser. Pakken fanger normalt selv papirstrrelsen (a4paper) direkte fra dokumentklassen. landscape : kan selvflgelig ogs angives som dokumentklasse option. Se desuden nste punkt. dvips/pdftex : dette angiver den driver man vil anvende til at f sit endelige output. Man skal angive en driver nr man enten anvender landscape eller nr man har anvendt pakken til at anvende brugerdenerede papirstrrelser. S vil tilvalget af driver betyde at der gemmes informationer om papirstrrelsen samt orienteringen i outputtet (dvs. enten DVI- eller PDF-len) sledes at fremviser programmet hndterer len korrekt. Et simpelt tip, hvis man nsker at kunne anvende det samme dokument med latex og med pdflatex og man nsker at angive driver til geometry da kan man anvende
footskip=
\usepackage{ifpdf} \usepackage[options]{geometry} \ifpdf \geometry{pdftex} \else \geometry{dvips} \fi

Eksempel 11.1

Nr man stter marginerne op med geometry er det altid en hjre (ulige) side man stter op. Husk, anvendes dobbeltsidet setup (klasse option twoside) da vil alle lige (venstre) sider have venstre- og hjremargin byttet om i forhold til en hjreside.
Sidebemrkning 11.2.

twoside

Der ndes ere options til geometry, bl.a. papirstrrelsen, se Umeki (2002) for mere information.
Sidebemrkning 11.3.

Et meget simpelt eksempel p brugen af geometry, er flgende som jeg anvender til mit instituts preprintserier:
\usepackage[margin=3cm]{geometry}

Eller hvis man nsker 3.5 cm i venstre side, 3 cm i toppen og i hjre side samt 4 cm i bunden.
\usepackage{geometry} \geometry{left=3.5cm,top=3cm,right=3cm,bottom=4cm}

Eksempel 11.2

Eksempel 11.3

S anvendelsen af geometry er meget simpel, samt en hel del nemmere at holde styr p i sammenligning med at skulle faststte alle parametrene pr. hndkraft.
279
Kapitlet er sidst opdateret 2010/01/08 14:11 (revision 502)

11. Generel ndring af layout

B5 p A4
3

Nogle ph.d.-studerende vlger at aevere deres afhandling i B5 format. Dette giver et lille problem idet man normalt ikke printer p B5 papir. Vores opgave er alts at f printet B5 p A4, vel og mrke tosidet. Vi ser frst p hvordan man kser dette med geometry og dernst med memoir . Opgaven er hele tiden at vi nsker at f placeret B5 omrdet sledes at man ved beskringen efter tryk, skal beskre ved yderste kant samt i bunden (da det er sdan vort lokale trykkeri helst vil have). Det strste problem er faktisk at nr man printer tosidet s skal B5 papiret placeres til venstre p en ulig side, men til hjre p en lige. Da twoside-klasseoptionen srger for at skifte hjre- og venstremargin, er dette dog ikke noget strre problem. B5 papir har en hjde p 250 mm og en bredde p 176 mm, til sammenligning er A4 297 210 mm. Nr man har besluttet sig for sine marginer for B5-dokumentet, lad os kalde dem l, r, t og b, s er formlen man skal anvende i geometry alts
Eksempel 11.4

left = l top = t right = bottom =

r plus 34 mm b plus 47 mm

og s skal man naturligvis huske at benytte twoside-klasseoption. Med memoir er det ogs meget simpelt, vi antager at man har anvendt a4paper klasseoption. Herefter skal vi bare anvende
\settrimmedsize{250mm}{176mm}{*}

\settrimmedsize

Eksempel 11.5

Dette 250 mm 176 mm omrde vil s vre det omrde marginerne kommer til at ligge inden for, s omrdet uden om skal man slet ikke bekymre sig om. Desvrre er standardopstningen i memoir sledes at det nye trimmede papir placeres p A4-arket sledes at beskringen kommer til at skulle foreg i ryggen (venstre margin) samt i bunden af siden. Vi nsker jo beskring ved ydre margin samt i bunden. Men det kan memoir dog sagtens kse. Man skal bare anvende et lille trick, se Wilson (2010) side 54, se desuden Eksempel 11.6. Det omtalte trick kan ogs hurtigt ndres s man centrerer B5 omrdet p papiret, hvis det skulle blive ndvendigt.
Eksempel 11.6

\settrimmedsize{250mm}{176mm}{*} \setlength{\trimedge}{\stockwidth} \addtolength{\trimedge}{-\paperwidth}

showtrims

Hvorefter man naturligvis skal anvende memoir s indbyggede features til efterflgende at justere marginerne p B5-papiret. Et andet tip med memoir er at anvende showtrims klasse-option, hvorved man fr markeret hvor grnserne for det trimmede papir nu kommer til at g.

3 FiXme Note: Dette skal skrives lidt bedre. Problemet kommer specikt hvis man anvender b5paper. h,

hvilket problem?

280
Kapitlet er sidst opdateret 2010/01/08 14:11 (revision 502)

Sidehoved og -fod

Behandlingen af papirstrrelser, kan blive endnu underligere. Antag givet en B5 p A4 som nu skal trykkes (i f.eks. en preprintserie) i A5! Det giver nogen problemer med de store ekstra marginer. Hvis man kun har PDF-len til sin rdighed, s m man vre lidt snedig. Man kan anvende \includepdf til at strippe marginen af til hjre/venstre (alt efter om det er en lige eller ulige side) samt skrlle af i bunden. Det er lidt bvlet at skrive i hnden hvis man har en 200 siders ph.d.-afhandling, men her kan flgende Perl-script hjlpe
Sidebemrkning 11.4.
#!/usr/bin/perl my $filename my $pages = shift @ARGV or die "missing file\n"; = shift @ARGV or die "we need the number of logical pages\n"; = shift @ARGV || undef;

Eksempel 11.7

my $output my $odd_options my $preamble my $postamble my $FH;

= 'trim=0 47mm 34mm 0, clip,noautoscale=true'; my $even_options = 'trim=34mm 47mm 0 0, clip,noautoscale=true'; = '\documentclass[b5paper]{memoir}\usepackage{pdfpages}\begin{document}'; = '\end{document}';

if ( defined $output ) { open $FH, '>', $output or die "Cannit open '$output': $!\n"; } else { $FH = *STDOUT; } print $FH $preamble; for (my $i=1;$i<=$pages;$i++) { my $options = $i % 2 == 0 ? $even_options : $odd_options; print $FH '\includepdf[pages=' . $i . ',' . $options . ']{' . $filename . "}\n"; } print $FH $postamble,"\n";

Gem det som f.eks. B5_on_A4_to_B5.pl, s er anvendelsen:


B5_on_A4_to_B5.pl input.pdf antal-logiske-sider output.tex

Hvis man undlader output.tex kommer indholdet bare ud p STDOUT.4 antal-logiskesider betyder antallet af ark i input len, det er ikke ndvenligvis det samme som sidetallet p sidste side. Adobe Reader vil ogs vise det totale antal ark.

11.2

Sidehoved og -fod

A Alle sider i et L TEX dokument har et sidehoved og -fod, til tider kaldet en lbende hea5 disse kan dog vre tomme. I L T X er disse to omrder styret af begrebet A der/footer E pagestyle. Sidehoved/fod kan enten indeholde statisk information (kan anvendes til sm projekter) eller dynamisk genereret information, hvilket kunne vre sidetallet eller informationer om nuvrende kapitel- eller afsnitstitel.

pagestyle

Begrebet pagestyle

En given pagestyle kan aktiveres p to forskellige mder, enten globalt (gldende fra nste side og frem) eller lokalt hvilket kun glder p denne side.
\pagestyle{ \thispagestyle{

navn } navn }

\pagestyle \thispagestyle

4 Standard out. 5 Bemrk at footeren ikke har noget med fodnoter at gre.

281
Kapitlet er sidst opdateret 2010/01/08 14:11 (revision 502)

11. Generel ndring af layout

\maketitle \chapter

navn } aktiverer pagestylen navn , men frst fra nstkommende side! \thispagestyle{ navn } aktiverer pagestylen navn p den nuvrende side og kun denne side. Bemrk at det er den sidste \thispagestyle p en given side som er gldende. \maketitle og \chapter anvender begge denne feature. Efter en side, hvorp man har anvendt \thispagestyle, vil den anvendte pagestyle s falde tilbage p den pagestyle som senest er udvalgt med \pagestyle{ navn }. Har man ikke selv valgt en, s har klassen sikkert automatisk indlst en. De mulige pagestyles kommer an p klassen man anvender, men der er tre styles man normalt nder i de este klasser:
\pagestyle{

empty tomt sidehoved og fod. plain tomt sidehoved og sidetallet centreret i footeren. Denne anvendes ofte (automa-

tisk) til sider lavet med \chapter eller \maketitle.


headings tom sidefod, side og afsnitsinformation i headeren, al tekst er i (kursi-

ve/slantede) kapitaler (i.e. store bogstaver). Dette er normalt standard pagestyle i book og memoir . Antag at man laver en aevering som kun fylder en side og at man har skrevet sit navn via \maketitle, s fr man et sidetal og denne kan ikke fjernes ved at placere \pagestyle{ empty } i preamblen. Da \maketitle internt anvender \thispagestyle{empty} skal vi stedet anvende
Tip 11.5.
Eksempel 11.8
\maketitle \thispagestyle{empty}

s forsvinder sidetallet. Den opmrksomme lser har mske indset at standardklasserne book, report og article ikke er videre eksible, eller giver nogen muligheder for kongurering. Dette gr sig ogs gldende vedrrende behandling af sidehoved og -fod. Den traditionelle mde at lse problemerne med (i forbindelse med standardklasserne) er via pakken fancyhdr-pakken, hvilket vi vil behandle i nste afsnit. Vi vil ogs komme ind p en nogle problemstillinger vedrrende standardklasserne og deres behandling af sidehoved og -fod, helt specikt vedrrende ikke-blanke sider samt auto-kapitaleret sidehoved. Anvender man memoir -klassen, s skal man ikke anvende fancyhdr-pakken, anvend i stedet de indbyggede features i memoir -klassen (der er masser) til hndtering af sidehoved og -fod. Memoir kan langt mere end hvad fancyhdr umiddelbart kan tilbyde og har rettet mange af problemerne som standardklasserne djer med.
Sidebemrkning 11.6.

fancyhdr

Justering af pagestyle med pakken fancyhdr

fancy
Eksempel 11.9

Vi vil kun kort beskrive hvordan man kan lave en pagestyle med fancyhdr og i stedet henvise til van Oostrum (2004) for ere detaljer. Frst skal man lige aktivere pagestylen fancy,
\usepackage{fancyhdr} \pagestyle{fancy}

282
Kapitlet er sidst opdateret 2010/01/08 14:11 (revision 502)

Justering af pagestyle med pakken fancyhdr

hvorefter vi kan kongurere stilens interne dele via makroerne placering ]{ kode } \fancyhead[ placering ]{ kode } \fancyfoot[ placering ]{ kode } \renewcommand\headrulewidth{ tykkelse } \renewcommand\footrulewidth{ tykkelse }
\fancyhf[
\fancyhf \fancyhead \fancyfoot \headrulewidth \footrulewidth

Af forskellige rsager skal man huske at aktivere pagestylen fancy fr man ndrer noget (ndringerne bliver nemlig ikke gemt i pagestylen).6 Det valgfri argument (ovenfor kaldet placering) styrer hvor kode skal placeres i sidehoved eller -fod. Det er en kommasepareret liste af tekststrenge p op til tre tegn, taget blandt: Side E O Lige side Ulige side Intern placering L C R Venstre del Center del Hjre del Hoved/fod H F Header Footer

\fancyhead er s bare \fancyhf, hvor H automatisk er valgt. Hvis der ikke angives nogen

placering s glder kode for alle felter, se Eksempel 11.10.


\usepackage{fancyhdr} \fancyhf{} % tom header/footer \fancyhead[OL,OR]{XXX} \fancyhead[OC]{YYY} \fancyfoot{Alle tre} \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0.4pt} \pagestyle{fancy}
slut preamble

\fancyhead \fancyhf

XXX

YYY

XXX

Eksempel 11.10

Noget tekst

Noget tekst

Alle tre

Alle tre

Alle tre

6 I memoir er det lige omvendt, her skal man huske at aktivere pagestylen efter man har ndret noget, dette skyldes at memoir gemmer ndringerne. 7 FiXme Note: det ville vre smart her at have en funktionalitet hvor man kunne vise en hjre og en venstre

side samtidigt

283
Kapitlet er sidst opdateret 2010/01/08 14:11 (revision 502)

11. Generel ndring af layout

Det nemmeste er at anvende \fancyhead og \fancyfoot. Som man kan se sttes placeringen sammen sledes at de angiver helt specikke steder (OL er eksempel venstre del af sidehovedet p en ulige side) og disse separeres med komma. Man kan ogs se via eksempel 11.10 hvad der sker hvis man ikke angiver en placeringsstreng. nsker man ikke nogen linier skal man bare stte \headrulewidth og \footrulewidth lig 0pt. Med eksempel 11.10 og article-klassen kan man nu meget nemt lave en skabelon til aeveringer hvor man (for at spare plads) har placeret ens navn samt anden information i header og footer.
Eksempel 11.11
\usepackage{geometry,fancyhdr} \geometry{headheight=2cm} \pagestyle{fancy} \fancyhf{} \fancyhead[L]{Navn\\Calculus, Hold 3} \fancyhead[R]{Aflevering 2\\ 2007/11/06}
slut preamble

Navn Calculus, Hold 3

Aevering 2 2007/11/06

Opgave 34
Trivielt.

\section*{Opgave 34} Trivielt.

headings

Det mest almindelige er at man anvender hjemmelavede pagestyles til strre projekter, hvor man har overskriftsinformation stende i sidehovedet. For de estes vedkommende er informationerne, man nder i headerne anvendt med stilen headings stor set det de har brug for, men det skal bare ikke lige se sdan ud. S lad os lige se p hvordan vi kser sdan noget. Her kommer (desvrre) lidt teori. De information vi gerne vil anvende er sidetallet samt titlerne (samt evt. numrene) fra \chapter, \section, . . . , \subsubsection. Disse stilles tilrdighed via makroerne:
\thepage \leftmark \rightmark

hvor \leftmark og \rightmark sttes internt i afsnitsmakroerne via kommandoerne


\markright{ \markboth{

info til \rightmark } info til \leftmark }{ info til \rightmark }

\chapter).

bemrk at \leftmark kun kan sttes via \markboth (anvendes normalt kun internt i Nu kommer teorien s: P en given side indeholder \leftmark den sidst-kommende tekst angivet via det frste argument til \markboth, hvis der ikke er anvendt nogen \markboth p siden, da anvendes teksten fra den foregende side. P en given side indeholder \rightmark den frst-kommende tekst angivet via \markright eller via argument 2 til \markboth. Hvis der ikke er nogen angivet p den nuvrende side, anvendes den sidste tekst fra den foregende side. Dette kan godt give en smule forvirring hvis man begynder at lave meget specielle headere. Men holder man sig til at angive kapiteltitler i sidehovedet p venstre sider, samt afsnitsoverskrifter i sidehovedet p hjre sider, s fungerer det helt nt.8
8 Dette er hvad de este gr.

284
Kapitlet er sidst opdateret 2010/01/08 14:11 (revision 502)

Standardklassernes problemer vedr. sidehoved og -fod

Til brug ved f.eks. book-klassen (som har kapitler) kan man f.eks. anvende
\usepackage{fancyhdr} \fancyhf{} % slet alt \fancyhead[LE,RO]{\thepage} % sidetallet yderst \fancyhead[RE]{\leftmark} % lige side, kapitel titel \fancyhead[LO]{\rightmark} % ulige side, afsnitsinformation \renewcommand{\headrulewidth}{0.4pt}

Eksempel 11.12

Der man kan s selv bestemme strrelsen p teksten og om det skal vre fed, etc. Det vil vi give et eksempel p herunder. Lad os lige tage et kig p hvordan et sdant sidehoved med dynamisk information kommer til at se ud. Vi anvender article-klassen (fordi det gr vi ved alle vore eksempler), her vil fancyhdr srge for at det er \section til skrive til \leftmark. Desuden er det et enkeltsidet layout vi leger med, s E vil ikke give mening. Bare for sjov skyld vil vi stte sidetallet i kursiv og den dynamiske tekst i fed.
\usepackage{fancyhdr} \pagestyle{fancy} \fancyhf{} \fancyhead[RO]{\itshape\thepage} \fancyhead[LO]{\bfseries\leftmark} \renewcommand{\headrulewidth}{0.4pt}
slut preamble

1 TEST

Eksempel 11.13

Test

\section{Test} noget tekst

noget tekst

Her kan vi se det primre problem folk har med den en mde den dynamiske tekst skrives p. Det er rene kapitaler, hvilket ikke er videre pnt. Dette vil vi kigge p et det nste afsnit.
Standardklassernes problemer vedr. sidehoved og -fod

Dette er en liste over de mest almindelige problemer folk har med sidehoved og -fod. (i) Den dynamiske tekst som kan anvendes i f.eks. sidehovedet (f.eks. overskrifter) sttes automatisk i kapitaler og dette er hardwired9 ind i klassekoden. I standardklasserne er det faktisk s slemt at dette ligger dybt inde i \chapter, \section,. . . , \tableofcontents, litteraturlisten og indekset. I memoir -klassen er disse lavet via specielle sm makroer som derfor er nemmere at rette, se afsnit 13.3.3. (ii) Anvender man f.eks. book og har alle kapitler til at starte p hjre side (standarden), s vil de este komme ud for at kapitlet fr sluttede p en hjreside, og at der derfor kommer en blank side fr starten af det nste kapitel. Har man sidehoved/-fod i sit layout, s vil denne fortstte p denne side, hvilket ikke er videre pnt. Pakken fancyhdr har visse ideer til lsningen af begge problemer, men med omkostninger. I den nyeste udgave af memoir er dette kset og page style hndtering er meget meget nemmere i memoir .

285
Kapitlet er sidst opdateret 2010/01/08 14:11 (revision 502)

11. Generel ndring af layout

Problemet med kapitaler


\nouppercase

Dette lser fancyhdr via makroen \nouppercase, som s anvendes som p Eksempel 11.14.
\usepackage{fancyhdr} \pagestyle{fancy} \fancyhf{} \fancyhead[RO]{\itshape\thepage} \fancyhead[LO]% {\bfseries\nouppercase{\leftmark}} \renewcommand{\headrulewidth}{0.4pt}
slut preamble

Eksempel 11.14

1 Test

Test

noget tekst

\section{Test} noget tekst

Piet van Oostrum (som har skrevet fancyhdr) advarer om at dette kan g galt, f.eks. i forbindelse med store romertal (skulle man f.eks. have valgt at nummerere appendikser med store romertal i stedet for med bogstaver). Problemet med de non-blanke sider I standardklasserne lser man dette via flgende trick
Eksempel 11.15
\let\oldcleardoublepage\cleardoublepage \renewcommand\cleardoublepage{% \clearpage{\pagestyle{empty}\oldcleardoublepage}}

I memoir har man vret endnu smartere, her anvendes en speciel pagestyle til disse blanke sider, og denne stil kan s omdeneres hvis man nsker at den ikke skal vre blank.
For lang headertekst

Til tider kan man have valgt afsnitstitler som er for lange til at kunne vre i headeren (headere p mere end en linie er ikke pnt). Dette kan man afhjlpe p to mder. (i) Makroerne \chapter til \subsubsection kan tage et ekstra valgfrit argument10 som s vil blive anvendt i headeren og i indholdsfortegnelsen. Syntaksen er alts eksempelvis
\section[
truncate

kort titel ]{ Lang titel }

(ii) Den anden mulighed er at anvende pakken truncate til automatisk at begrnse lngden af headerteksten. For information om brugen af denne pakke se Arseneau (2001). Eksempel:
\usepackage[hyphenate]{truncate}
slut preamble

Eksempel 11.16

\truncate{100pt}{Denne tekst er blevet delt}

Denne tekst er ble- . . .

9 Hardwired betyder at denne feature er skrevet s dybt inde i kildekoden at den eneste mde at fjerne den,

er ved at kopiere meget store mngder kode.


10 I memoir kan de endda tage to ekstra argumenter, som s giver brugeren fuld kontrol.

286
Kapitlet er sidst opdateret 2010/01/08 14:11 (revision 502)

Indholdsfortegnelsen

Det er ogs ((i)) man skal anvende hvis man absolut vil have en fodnote med i en afsnitstitel. Den skal naturligvis ikke med i sidehovedet eller i indholdsfortegnelsen. Tilsvarende, hvis man gerne vil have en linieombrydning p et meget bestemt sted i en afsnitsoverskrift, s kan man indstte \\ i den lange titel, mens man udelader den i den korte titel.
Sidebemrkning 11.7.

11.3

Indholdsfortegnelsen

tents

Indholdsfortegnelse hedder table of contents p engelsk og aktiveres via \tableofcon(som tidligere nvnt kan det tage et par kompileringer fr den er helt opdateret). Man kan sagtens styre hvor mange niveauer man nsker at tage med i indholdsfortegnelsen, dette gres via tlleren tocdepth:
\setcounter{tocdepth}{

\tableofcontents

tocdepth

tal }

hvor tal svarer til: 1 for ToC til og med \part, 0 til og med \chapter, 1 til og med \section . . . Hvad denne tller er sat til som standard afhnger af dokumentklassen.
Sidebemrkning 11.8. I memoir man kan anvende ovenstende, men da det er vanskeligt at huske disse numre, s kan man her anvende navnet p det niveau man nsker at dybden skal g til. I memoir er standarden at dybden kun gr til og med section, s dette kan kses via
\settocdepth{subsection}

eller hvor langt man nu nsker.

Eksempel 11.17

Skulle man have brug for det kan man ogs tilfje en indgang til ToC pr. hndkraft via:
\addcontentsline{

type }{ niveau }{ tekst }

\addcontentsline

hvor type oftest vil vre toc, niveau er navnet p den afsnitsmakro man nsker at emulere (i.e. part, chapter, section, etc.). tekst vil normalt enten vre en eller anden titel eller en eller anden titel
\numberline{}
\numberline

Forskellen er nemmest at forst via et eksempel:11


\tableofcontents \section{Test} \addcontentsline{toc}{section}% {Helt til venstre} \addcontentsline{toc}{section}% {\numberline{}Indrykket}

Indhold
1 Test Helt til venstre Indrykket 1 1 1

Eksempel 11.18

Test

11 Vi har snydt med den vertikale spacing for at spare lidt plads.

287
Kapitlet er sidst opdateret 2010/01/08 14:11 (revision 502)

11. Generel ndring af layout

tentsline

Man skal vre forsigtig med manuel brug af \addconidet man sagtens kan ende op med en ToC indgang som peger p den forkerte side. Er man i tvivl eller kommet ud i problemer, s sprg den nrmeste A L TEXniker. Se desuden afsnittet 11.3 p denne side.
Sidebemrkning 11.9.

En anden makro man kan f brug for, men som skal behandles varsomt er
\addtocontents

\addtocontents{

type }{ indhold }

\addtocontents anvendes lot.12

til at skrive indhold direkte ned i f.eks. .toc-len. type skal vre toc, lof eller Man vil normalt anvende konstruktionen til f.eks. at tilfje et tvunget sideskift til indholdfortegnelsen. Det kunne f.eks. vre at man helst ville have at ToCen blev delt fr en bestem sectionsoverskrift i stedet for efter. Hervil man s anvende
\addtocontents{toc}{\protect\newpage}

Eksempel 11.19

\protect

skal med for at sikre at makroen ikke bliver ekspanderet (dvs. at den ikke erstattes af de interne denitioner i \newpage) inden den skrives til .toc-len.
At f bibliogra og indeks med i ToC

tocbibind

Ligesom ved sidehoved og -fod er der visse ting som standardklasserne har glemt. F.eks. kommer bibliograen, indekset eller indholdsfortegnelsen ikke med som indgange i indholdsfortegnelsen. Det dur oftest ikke at anvende \addcontentsline, da den nemt kommer til at pege p den forkerte side. Anvend i stedet pakken tocbibind. Pakken har forskellige pakke-options hvor man s kan fjerne visse af punkterne igen, se Wilson (2004b). Den mest interessante er nok nottoc som srger for at indholdsfortegnelsen ikke selv er en indgang i ToCen, s den mest almindelige brug af tocbibind er:
\usepackage[nottoc]{tocbibind}

Eksempel 11.20

Funktionaliteten af tocbibind er allerede indbygget i memoir .


Kongurering af ToC

tocloft

Man kan af visse rsager f brug for at kunne kongurere, hvordan indholdsfortegnelsen ser ud, f.eks. lige skrue lidt ned for afstanden mellem punkterne (ses ofte hvis ToCen lige er lidt for lang til at kunne vre p n side). Dette gres nemmest med pakken tocloft, se Wilson (2003) for mere information.13 Igen er funktionaliteten direkte indbygget i memoir og synktaksen er forklaret i Wilson (2010).
11.4 Overskrifter

titlesec

For de estes vedkommende vil standard udseendet af \chapter. . . \subsubsection til at leve med. Men skulle man have lyst til at pille ved det kan man anvende pakken titlesec. De mere specialiserede klasser inkluderer egne metoder til at ndre dette
12 Eller en anden type hvis man selv har lavet en ToC lignende liste. 13 Bare det at anvende tocloft vil faktisk formindske denne afstand en smule set i forhold til standardopst-

ningen.

288
Kapitlet er sidst opdateret 2010/01/08 14:11 (revision 502)

Afsnitstitler uden nummer men med i ToC

udseende (disse metoder br anvendes i stedet for titlesec nr man anvender en non-standardklasse). En hurtig ting de este gerne vil have er at afsnitsoverskrifter helst skal skrives uden brug af orddeling (det ser nu en gang bedst ud). Dette er ikke standard i f.eks. article-klassen, men er meget nemt at opn med titlesec:
\usepackage[raggedright]{titlesec}

For ere ideer med titlesec, se Bezos (2002), man vil bl.a. nde eksempler p forskellige mder \chapter kan se ud. Igen har memoir -klassen sit eget system til at ndre den mde hvorp kapitelforsider ser ud p. Vi kigger lidt p det i nste kapitel. Man kan ogs tage et kig p Madsen (2008b) hvor undertegnede har samlet en masse ideer (med kode) til kapitelforside i memoir -klassen.
Afsnitstitler uden nummer men med i ToC

Eksempel 11.21

Hvorvidt et afsnit faktisk bliver nummereret (ved brug af de u-stjernede versioner af \chapter. . . \subsubsection) afhnger af vrdien af tlleren secnumdepth, de fortolkede vrdier er de samme som for tocdepth, se side 287. Dette betyder at man uden problemer kan lave et helt dokument hvor afsnitsoverskrifterne ikke er nummererede, og hvor man samtidigt kan f en autogenereret ToC. Der er heller ingen problemer med at skifte vrdien undervejs.14
\tableofcontents \noindent\rule{\textwidth}{1pt}\par \section{Test 1} % nummerer kun til chapter \setcounter{secnumdepth}{0} \section{Test 2} % nummerer kun til section \setcounter{secnumdepth}{1} \section{Test 3}

secnumdepth

Indhold
1 Test 1 Test 2 2 Test 3 1 1 1

Eksempel 11.22

1 Test 1 Test 2 2 Test 3


Eksempel 11.23

Endnu en gang har memoir en lidt nemmere mde at kongurere det p:


\setsecnumdepth{subsubsection} % til og med \maxsecnumdepth{subsubsection} % underligt koncept

14 Har igen snydt med mellemrummet i eksempel 11.22.

289

Tolvte Kapitel

Hndtering af strre projekter


Man vil som studerende komme ud for at skulle lave mindst n strre skriftlig opgave, A hvilket man naturligvis anvender L TEX til. Det er dog noget vrre administrativt rod at have ti kapitler af et speciale p 100 sider liggende i samme, meget lange l. Vi skal i dette kapitel se p hvordan man kan opdele kildekoden, samt vlge kun at arbejde p dele af den ad gangen. Kapitlet vil ogs indeholde tips til hvordan man kan holde styr p sine labels, skrive noter til sig selv, eventuelt referere til eksterne labels i eksterne dokumenter.
1

12.1

Opdeling af kildekoden

For ikke at have meget store, uoverskuelige ler er det smartest at opdele kildekoden i mindre ler, hvor man s f.eks. har et hoved/master-dokument som inkluderer de forskellige dele. Ideen er at man f.eks. placerer hvert kapitel i en .tex (husk at en enventuel \chapter skal vre i lerne som inkluderes, de skal ikke vre i masterlen). Man inkluderer A s hvert kapitel (eller hvad det nu er) med en passende kommando, L TEX tilbyder to forskellige makroer til dette, \input og \include med hver ders fordele og ulemper. For begge konstruktioner vil vi lige bemrke at nsker man at ignorere den resterende del af den inkluderede l, da skal man blot indstte \endinput. Bde \input og \include inkluderer indholdet af len enten indtil slutningen af len, eller til de mder en \endinput. Alt efter \endinput ignoreres.
Sidebemrkning 12.1.

\input \include

\endinput

I visse ldre projekter, jeg har haft fornjelsen af at redigere lidt p, ser man nogle gange forfattere som starter disse inkluderede ler med at stte kapitelnumre eller manuelt at nulstille formelnumre. Dette er slet ikke ndvendigt i vore dage. Skulle man have brug for det, s hrer den slags til i master-len, s kan man hurtigere tilrette dem, hvis det bliver ndvendigt.
Sidebemrkning 12.2.

Lad os nu ser nrmere p \input og \include.


\input
A Nr L TEX nr til en \input{ lnavn } vil den straks g ned i lnavn og fortolke alt hvad den nder der, hvorefter den vender tilbage til len hvori \inputen befandt sig. Makrokaldet \input{filnavn} svarer alts til at hele indholdet af len filnavn.tex faktisk stod i master-len p netop dette sted. A Angiver man lnavn uden angivelse af lendelse s vil L TEX automatisk forsge at inkludere len filnavn.tex. Hvis man nsker at inkludere indholdet at en l
1 FiXme Note: Her er sikkert mange andre ting vi kan tilfje, ideer?

291
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

12. Hndtering af strre projekter

som ikke har .tex som lendelse, s skal lnavn alts angives med endelse, f.eks. tabel.tbl. Man kan uden problemer inputte ler inden i andre ler (dette kaldes nesting). Som eksempel kan nvnes at man kan have hele sin preamble i en ekstern l som s hentes ind via \input. Der er intet problem i at have et hoveddokument som ser ud som dette (dette er hele dokumentet):
Eksempel 12.1
\input{preamble} \begin{document} \input{kapitel1} ... \input{kapitel5} \end{document}

Det kan dog vise sig at vre en smule bvlet i nogle situationer.
\include

\include

Her er s forklaringen p at vi bevidst ikke anvendte ordet inkludere i afsnittet om \input. Makroen \include{ lnavn } svarer til \input{ lnavn } men med en twist. Der glder flgende regler lnavn skal svare til en .tex-l og lnavn skal angives uden lendelse. en \include starter altid p en ny side (i modstning til \input som starter nu og her). Ved \include vil der blive lavet en .aux-l for hver inkluderet l. Dette anvendes til features beskrevet nedenfor. Man m ikke anvende \include inden i en l som allerede er inkluderet via \include, men man m godt anvende \input inden i en l som inkluderes via \include. Fordelen ved \include er at man nu kan lave betinget inkludering af f.eks. kapitler. Antag man er ved at skrive en bog (eller et langt speciale) og i dag vil man gerne arbejde p kapitlet som ligger i len kapitel9.tex. Da projektet er meget langt, tager det en del tid at overstte det hele, s man vil gerne bare overstte med kapitel9.tex inkluderet alene. Man kunne naturligvis udkommentere alle de andre inkluderede kapitler, men s vil alle krydsreferencer til disse kapitler vre udenerede, hvilket er trls at se p, desuden vil sidetallene vre misvisende. Her er i stedet den smarte metode: Start i stedet med at overstte hele dokumentet med alle ler inkluderet via \include, dette srger for at alle labels nu er at nde i .aux-len hrende til hver inkluderet l.

\includeonly

Placr herefter \includeonly{ kommasepareret liste af lnavne } i preamblen og overst igen. S vil kun de specicerede kapitler blive oversat, men alle krydsreferencer til vrige kapitler optrder nt og man har de korrekte sidetal. For eksemplet beskrevet ovenfor ville man alts skulle placere

Eksempel 12.2

\includeonly{kapitel9}

292
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

Master/hoved-len

i preamblen.2

 

Man br kun anvende \include til at inkludere ting som giver sideoutput. Man br heller ikke inkludere f.eks. en tabel via \include, anvend i stedet \endinput.
Advarsel 12.3. Advarsel 12.4. Hvis len man nsker at inkludere ikke ndes, vil \include kun give en advarsel (warning) og ellers bare g videre, i modstning til \input som giver en fejl. Denne advarsel skal man alts selv opdage. Bemrk at ndes som sdvanligt betyder A at len ikke kan ndes p et af de steder L TEX leder efter ler, hvilket normalt er mere end bare det nuvrende bibliotek! Sidebemrkning 12.5. Anvend aldrig \end{document} inden i en l inkluderet via \include, der kan ske meget underlige ting. nsker man at stoppe inkluderingen (f.eks. ved debugning) s anvend i stedet \input.

Se desuden Mittelbach og Goossens (2004) for mere information.


Master/hoved-len

Masterlen er et hoveddokument, det er her man s inkluderer sine kapitler etc. Det er ogs denne l man kompilerer for at f det samlede dokument.
A I de este gode L TEX-editorer kan man til en given l angive hvilken l der skal anvendes som masterl, i.e. hvilken l det er man vil overstte nr man nsker at kompilere sit dokument. (Man kan jo ikke kompilere de enkelte kapiteller for sig idet de ikke har nogen preamble ej heller en \begin/end{document}, hvilket de heller ikke skal have.) Dette betyder at man bliver fri for at skulle skifte over til sin masterl hver gang man nsker at kompilere. Nogle editorer kalder en sdan konguration for et projekt eller lignende. Desvrre er der ogs nogle editorer som ikke er videre gode til at hndtere strre projekter.

Sidebemrkning 12.6.

Bare for en god ordens skyld minder vi om at de kapitler som man har i eksterne ler alts ikke skal have nogen preamble ej heller noget \begin{document}. . . \end{document}-par.
Sidebemrkning 12.7.

En simpel skabelon til en masterl kunne se sdan ud (visse af makroerne forklares senere):
\documentclass[

options ]{ dokumentklasse }
Eksempel 12.3

vrige preamble
%\includeonly{kapitel2} \begin{document} \include{forside}

2 I master len til denne bog, har vi listet alle kapitlerne i en samlet \includeonly, og udkommenterer s

dem vi ikke skal bruge.

293
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

12. Hndtering af strre projekter

\cleardoublepage \frontmatter \include{abstrakt} \cleardoublepage \tableofcontents \include{indledning} \mainmatter \include{kapitel1} \include{kapitel2}

...
\include{kapitelX} \appendix \include{appendiks1} \bibliographystyle{ \bibliography{ \printindex \end{document}

style }

bibl }

12.2

Ekskludering af dele af teksten

Nr man er i gang med strre projekter vil skriveprocessen sjldent vre liner og ofte vil man f brug for at kunne fjerne/ignorere passager uden at slette dem helt. Den slags har man selvflgelig ogs pakker til. Skulle man have brug for at ignorere slutningen af en l som er inkluderet via \input eller \include, s kan man bare indstte en \endinput, s slutter inkluderingen p det sted hvor man har placeret \endinput. Det er lige som med \end{document} alt efter \endinput ignoreres.
Sidebemrkning 12.8.
\endinput

A Mange L TEX orienterede editorer tilbyder muligheden for at man kan afmrke et stykke tekst og s f denne udkommenteret med % i starten af linierne. Som regel har man ogs muligheden for at markere et stykke udkommenteret tekst, og s f fjernet udkommenteringen. Dette har en stor fordel fremfor metoden beskrevet herunder, man er slet ikke i tvivl om at noget er udkommenteret, tit vil editoren endda give den udkommenterede tekst en speciel farve.

Sidebemrkning 12.9.

comment

Har man ikke mulighed for at anvende betoden beskrevet i Bemrkning 12.9, eller ikke har lyst til at anvende den, s kan man anvende pakken comment (se Eijkhout (1999)). Den stiller umiddelbart environmentet comment til rdighed, om hvilket der glder to regler (i) \begin/end{comment} skal hver isr st p en linie for sig selv. (ii) der m ikke vre noget mellemrum fr \begin/end{comment} og der m heller ikke st noget efter.

294
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

Arbejdskommentarer

\usepackage{comment}
slut preamble

Eksempel 12.4

Noget tekst \begin{comment} noget som ikke kommer med \end{comment} og noget tekst efter kommentar.

Noget tekst og noget tekst efter kommentar.

En anden smart feature ved comment er dog at man selv kan denere sine egne specielle kommentar environments som s kan sls til og fra efter for godt bendende.
\includecomment{

env-navn }

\includecomment

laver et kommentar environment som er usynligt, forstet p den mde at den ikke ignorerer noget (teksten man skriver indenfor dette environment bliver skrevet som hvis environmentet ikke havde vret der). Dette er meget nyttigt til at lave kommentarer og lignende til sig selv som man senere nemt kan ekskludere.
\excludecomment{

env-navn }

\excludecomment

som ovenfor men nu vil alt mellem \begin{env-navn}...\end{env-navn} blive ignoreret. Dvs. med
\includecomment{kommentar} %\exlcludecomment{kommentar}

Eksempel 12.5

ville kommentarens indhold blive skrevet, mens med


%\includecomment{kommentar} \exlcludecomment{kommentar}

Eksempel 12.6

ville den vre ignoreret. En rigtig skummel brug af dette er at man med
\excludecomment{proof}

kan fjerne alle beviser i sit dokument.


12.3 Arbejdskommentarer

Eksempel 12.7

Man fr sikkert ogs brug for at kunne skrive kommentarer til sig selv (hvad mangler der her, hvad er problemet vi ikke kan lse. . . ). Der er umiddelbart to pakker som er relevante her: fixme og todonotes. Den frste er meget tekstorienteret, hvorimod den anden er mere grask gennem brugen af TiKz.
Pakken xme

xme todonotes

Pakken fixme giver som navnet lidt antyder mulighed for at placere forskellige noter i teksten som man s senere kan vende tilbage til. Blandt andet har man mulighed for at indstte en samlet liste af ting som man skal have kigget nrmere p. I version 3 af fixme kunne man nemt skrive i marginen via pakkens interface. I den nuvrende version 4 af pakken er dette markant forringet. Herfra kan anbefales at man i stedet kongurerer fixme til at skrive noterne som fodnoter, se nedenfor.
Sidebemrkning 12.10.
295
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

12. Hndtering af strre projekter

Pakken indlses som sdvanligt via


\usepackage[

options ]{fixme}

hvor options bl.a. inkluderer final, draft og danish. Vi kommer senere tilbage til hvad de betyder. Nogle af makroerne man anvender i teksten er:
\fxwarning[

type ]{ tekst } type ]{ tekst } \fxerror[ type ]{ tekst } \fxfatal[ type ]{ tekst }
\fxnote[ \listoffixmes \fxsetup{

options }

Man anvender normalt pakke optionen draft hvorefter de re frste makroer vil skrive deres tekst som en del af dokumentet, f.eks. i marginen eller evt. som fodnoter, alt efter hvilket setup man anvender. Bruger man ikke draft, s er det det samme som final og s forsvinder resultatet af de tre frste makroer, og hvis der er ere \fxfatal s vil dokumentet ikke lngere overstte (deraf navnet). Eksemplet herunder viser simpel brug af fixme.
Eksempel 12.8
\usepackage[draft,danish]{fixme} \fxsetup{layout=margin} % footnote anbefales, men drligt til eksempel
slut preamble

\small noget tekst \fxfatal{her er noget galt} mere \fxnote[inline]{en note} mere \fxwarning{en advarsel -- noget er helt forkert} mere \fxerror[inline]{en fejl} \listoffixmes

noget tekst mere FiXme Note: en note mere mere FiXme Fejl: en fejl

FiXme Ddelige:

Rettelser
Ddelige: her er noget galt . . . . . . . . . . Note: en note . . . . . . . . . . . . . . . . . . Advarsel: en advarsel noget er helt forkert Fejl: en fejl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1

her er noget galt


FiXme Note: en

note
FiXme Advarsel:

en advarsel noget er helt forkert FiXme Fejl: en fejl

Observationer: (i) inline-optionen (her givet til visse af makroerne) betyder at noten skrives direkte i teksten, mens uden skrives den direkte i marginen (alt efter hvad man kongurerer den til). (ii) \listoffixmes laver en oversigt over de ting man mangler at f kset. (iii) Margin noterne sttes raggedleft, i.e. hjrejusteret uden orddeling. A (iv) Holder man je med .log-len eller outputtet fra L TEX i et terminalvindue vil man ogs se at den laver en oversigt over de manglede ting man har markeret med xmes. Pakken fixme har ogs mulighed for at lave strre kommentarer via forskellige environments, se Verna (2009) for ere oplysninger. Desuden kan man lave makroer
296
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

Pakken todonotes

sledes at det kan knyttes en forfatter til hver xme notits, se pakke manualen for mere information.
Pakken todonotes

Her vil vi bare komme med et eksempel og i stedet henvise til den glimrende manual, Midtiby (2009). Bemrk i eksemplet den specielle makro \missingfigure som kan vre ret nyttig under skrivefasen.
\usepackage[danish]{todonotes}
slut preamble

Eksempel 12.9

Dette er noget tekst\todo{Skal lave et eksempel med todonotes}, hmm tror vi holder her. \begin{figure}[ht] \centering \missingfigure[figwidth=6cm]{Husk illustration} \end{figure}

Dette er noget tekst, hmm tror vi holder her.

Skal lave et eksempel med todonotes Husk illustration

Manglende gur

12.4

At holde styr p labels og lignende

Vis indsatte og anvendte label- og citeringsngler

Pakken showkeys kan hjlpe med at holde styr p de mange labels man ender op med at have i et stort projekt.
\usepackage{showkeys}
slut preamble

Eksempel 12.10

i formel (\ref{a}) ses at \dots \begin{equation} \label{a} a^2+b^2=1 \end{equation}

i formel (1) ses at . . . a2 + b 2 = 1 (1)


a

Pakken vil s skrive alle labels ude i marginen (faktisk i begge marginer) indrammet i en kasse, alle steder hvor der er refereret eller citeret vil den label som er refereret til blive skrevet hen over referencen. Ofte nsker man kun at f skrevet alle labels op i marginerne, hvilket kan gres via
\usepackage[notref,notcite]{showkeys}

nsker man noget som ikke er s dominerende kan man tilfje optionen color. Har man lavet et indeks til sit dokuments kan pakken showidx ogs vre meget rar, den gr det samme for \index som showkeys gr for f.eks. \label.
297
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

Eksempel 12.11

showidx
\index

12. Hndtering af strre projekter

Lidt smartere krydsreferencer

Nr man nu f.eks. anvender oats3 til sine gurer kan man jo ikke lngere sige sdan noget som: P guren herunder. . . , thi man ved ikke hvor guren havner. Man bliver derfor ndt til at henvise til gurnummeret og hvis man er meget venlig ogs et sidetal. Men hov der er jo et potentielt problem hvad nu hvis man laver en sidehenvisning til en gur og guren s faktisk havner p samme side som henvisningen. Det ser ikke ret pnt ud. Lsning: Anvend pakken varioref. Man vil oftest anvende den med dansk opstning4 :
\usepackage[danish]{varioref}
\vref

Man anvender s \vref i stedet for \ref. Det kunne s give:


Dette er en henvisning til eksempel \textbf{\vref{fixme1}} Dette er en henvisning til afsnit \textbf{\vref{sec:mark-nomk-noidxsh}}. Til slut en henvisning til dette eksempel: \textbf{\vref{vario1}}

Eksempel 12.12

Dette er en henvisning til eksempel 12.8 Dette er en henvisning til afsnit 12.4. Til slut en henvisning til dette eksempel: 12.12

\vrefrange

Man skal bemrke forskellen i den fremhvde tekst. Pakken har mange andre specielle muligheder, f.eks. \vrefrange{ start label }{ slut label } som kan anvendes til at angive en hel samling af referencer.
Kapitel \vref{cha:satninger-i-latex} indeholder ek\-sem\-plerne: \vrefrange{thm1}{optimering2}.

Eksempel 12.13

Kapitel 5 indeholder eksemplerne: 5.2 til 5.28 p side 110123.

\vpageref

fancyref

Der er desuden en \vpageref svarende til \vref bare kun omhandlende en henvisning til sidetallet. Den interesserede lser henvises til Mittelbach (2004) for mere information. Det er faktisk ogs muligt at lave specielle henvisningsmakroer som automatisk kan indstte f.eks. formel (3.39) etc. Det er ikke noget vi vil komme nrmere ind p her, men i stedet henvise enten til Mittelbach (2004) (varioref) eller mske mere relevant til pakken fancyref (se Reichert (1999)), alternativt kan pakken cleveref anvendes, se dog Bemrkning 12.13. Det skal lige bemrkes at brugen af varioref kommer med en pris. Nemlig at tingene kan g temmeligt meget i ring hvis en varioref reference kommer omkring et sideskift. Dette har jeg for eksempel haft problemer med i denne bog. Man vil i s fald f en fejl om at der forekommer en varioref-reference hen over et side skift. Her er der ikke ret meget andet at gre end at forsge at nde det relevante sted og s skrive teksten lidt om eller indstte en \newpage p et passende sted.
Sidebemrkning 12.11.

3 Se kapitel 6. 4 Hvilket netop er en god grund til at angive danish som option til dokumentklassen, s skal man ikke angi-

ve den til diverse andre pakker, det sker automatisk.

298
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

Referere til label fra et andet projekt

\fref

Sidebemrkning 12.12 (Vedr. fancyref). Pakken fancyref implementerer en kommando, det gr memoir ogs, s her kan det vre en ide at loade fancyref
\let\fref\relax \usepackage{fancyref}

via
Eksempel 12.14

Sidebemrkning 12.13 (Vedr. cleveref). Bemrk at pt. er pakken cleveref ikke kompatibel med memoir , samt en del andre pakker. Cleveref overtager helt \label og hvad den skriver til .aux-len. Dette delgger memoir s \titleref feature.

12.5

Referere til label fra et andet projekt

Nogle gange fr man brug for at kunne referere til en label i et helt andet projekt, alts i ler som ikke berres mens man overstter sit nuvrende dokument. Dette kan f.eks. anvendes i sldies nr man nsker at referere til en bestemt stning i sin afhandling. Dette kan hndteres via pakken xr. Man specicerer s de eksterne ler via (evt. ere af disse)
\externaldocument{

xr

lnavn }

\externaldocument

lnavn skal svare til den pgldende filnavn.aux-l, uden endelsen. Herefter kan man s referere til labels fra lnavn . Dog vil det vre en god ide at kunne skelne mellem labels i det nuvrende dokument og labels fra det eksterne dokument (f.eks. hvis der er sammenfald). Dette undgr man ved at angive et prex til \externaldocument f.eks.
\externaldocument[A-]{filnavn}

Hvorefter man s skal referere via nglen A- ngle for netop dette dokument. Man kan mere eller mindre have alle de eksterne dokumenter man har lyst til. Se evt. Carlisle (2006). En brug af dette er f.eks. hvis man er ved at lave slides til sit forsvar, s kan man anvende xr til direkte at referere til stninger, formler og sidetal i afhandlingen. Paul M. Bendixen har nvnt at der indenfor f.eks. ingenirstudiet er krav om at en projektrapport og projektdokumentation faktisk er to separate dokumenter. S her er xr igen nyttig sledes at man kan krydsreferere mellem de to dokumenter. Insisterer man p ogs at anvende hyperref, s er det en god ide a supplere xr med pakken xr-hyper, se evt. http://www.tex.ac.uk/cgi-bin/ texfaq2html?label=extref.
Sidebemrkning 12.14.

Eksempel 12.15

299

Trettende Kapitel

Dokumentopstning med memoir-klassen


Det blev i indledningen nvnt at vi mener at man br behandle isr specialer som om det faktisk er en bog. Bger har en speciel opbygning som gr at det faktisk er nogenlunde nemt at nde ud af hvor de enkelte ting skal vre. Dette kapitel handler om opbygningen af bger samt hvordan vi fr dette implementeret med dokumentklassen memoir . Vi vil i denne henseende anvende ordet bog som dkkende over alle typer af strre opgaver s som specialer, bachelorprojekter, ph.d.-afhandlinger samt store gymnasieopgaver. Vi vil i frste omgang behandle specialer (opstningen til ph.d.-afhandlinger er den samme) da den ligner bger mest. I slutningen af kapitlet vil vi komme ind p hvordan man ndrer skabelonen sledes at den i stedet passer til bachelor-, gymnasieog andre projekter. Det er en god ide at man srger for at gre sig bekendt med den lmssige opbygning af strre projekter, se afsnit 12.
13.1 Pakker allerede inkluderet i memoir-klassen

Memoir-klassen har inkluderet funktionaliteten (men ikke altid syntaksen) fra flgende pakker (listen er ikke komplet), se punkterne (1)(42) herunder. Funktionaliteten er i mange tilflde enten udvidet i forhold til de nvnte pakker, eller anvendt med en anderledes syntaks. Er man i gang med at migrere fra f.eks. et layout baseret p book -klassen, og anvender man en af nedenstende pakker, s kan det nemt vre sledes at man bliver ndt til lige at nde ud af hvordan man laver det tilsvarende med memoir . Det mest almindelige eksempel p noget som skal laves om er brug af fancyhdr-pakken (memoir er meget bedre til pagestyles). (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) array delarray tabularx dcolumn booktabs framed enumerate remreset subgure verbatim moreverb (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) shortverb tocvsec2 epigraph nextpage needspace abstract chngpage appendix ccaption hanging titling (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) chngcntr tocbibind tocloft verse ifmtarg fancyhdr crop sectsty titlesec footmisc index (34) (35) (36) (37) (38) (39) (40) (41) (42) lastpage geometry endnote setspace parskip newle patchcmd titlteref ifpdf

301
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

13.2

Opbygningen af en bog

I dette afsnit vil vi kort ridse op hvad et boglignende projekt (normalt) betstr af. En bog bestr generelt set af re dele. (a) (b) (c) (d) Titelmateriale, frontmatter, mainmatter samt backmatter.

Titelmateriale

forsiden

Titelmaterialet dkker over alt hvad der hrer til forsiden af bogen. bner man en almindelig bog (dog ikke de este forelsningsnoter1 ) ser man ofte, frst en side hvor der bare str titlen p bogen, bagsiden af denne kan s rumme forskellige oplysninger (denne information kan ogs placeres bagp selve forsiden). Herefter kommer s selve forsiden hvor man kan se titlen og forfatteren samt anden relevant information. Se gur 13.1.

Titel

Titel Forfatter ...

(a)

(b)

(c)

(d)

Figur 13.1: (a) er dkbladet, (b) bagsiden af dkbladet, (c) selve forsiden og (d) bagsiden af forsiden.
dkblad

Arket med titlen alene som kommer fr selve forsiden kaldes et dkblad og har kun til opgave at beskytte forsiden. Dkblade er nok ikke srligt anvendt til specialer og bachelorprojekter, men skal bogen bindes ind (f.eks. med pap) er det almindeligt at anvende et dkblad. Nr man har at gre med noget som f.eks. skal indbindes med pap, s kan man enten gentage forsiden p dette omslag (ofte justeret lidt i forhold til marginer), eller man kan lave en specik forside til omslaget. Dennee form for design ser man ofte ved bge, et eksempel ses f.eks. ved Jensen (2007).
Sidebemrkning 13.1.

kolofon

Bagp dkbladet eller forsiden kan man inkludere informationer omkring denne bog.2 Man kan eksempelvis skrive noget om at dette er Copyright 2010 navn og A noget om hvordan bogen er lavet. Nr man nu alligevel har anvendt L TEX til at stte kronen p det vrk man har vret i gang med at skrive, s hvorfor ikke lade lseren A vide at det var L TEX som gjorde dette s pnt. Man kan jo ogs tilfje noget om hvordan eventuelle gurer er lavet. Denne (meta)-information kaldes ofte for en kolofon.
1 Endnu, er ved at indoktrinere mine lokale note-forfatterne. 2 Hent inspiration fra andre bger.

302
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

IMF krav til forsiden

Forsiden og det eventuelle dkblad nummereres normalt ikke og inkluderes normalt ikke i indholdsfortegnelsen.
3

IMF krav til forsiden

I reglerne for Naturvidenskabelige Fakultet, AU, kan man lse at der er krav om at der skal indg et resum p engelsk samt at titlen foreligger p dansk og p engelsk. Der er ikke noget krav om at man har et dansk resum, ej heller hvis man skriver p engelsk. Der er heller ikke noget krav om at dansk og engelsk titel begge skal fremst p forsiden. Skriver man f.eks. p dansk, str det en frit for at nvne den engelske titel som en del af det pkrvede engelske resum.
Sidebemrkning 13.2.

Ved Institut for Matematiske Fag, Aarhus Universitet har vi flgende krav til hvad der skal fremg af forsiden af specialer. Hvordan resten s stilles op er helt op til den studerende. Senere i dette kapitel skal vi se to eksempler (Louises henholdsvis Strits forsider, navngivet efter de studerende de oprindeligt blev lavet kreeret for). P grund af omlgning af ph.d.-uddanenserne vides det pt. ikke hvordan kravene til ph.d.-afhandlinerne bliver. For specialer projekter skal forsiden indeholde flgende: (i) Navn og rskortnummer p forfatteren. (ii) Titlen p vrket. (iii) Navn p vejleder(e). (iv) Hvornr der er aeveret, kan f.eks. vre mned og r.4 (v) Hvilken type opgave der er tale om og i hvilket omrde. Dvs. om det er en specialeafhandling i matematik, statistik eller matematik-konomi. Forskningsgrupper nvnes ikke p forsiden. Denne regel er egentlig mest af hensyn til biblioteket, s de ved hvor materialet skal placeres, og reglen glder kun for specialer. For bachelorprojekter er der s vidt vides ikke nogen specikke regler, listen herover vil sikkert vre en god guide.
Sidebemrkning 13.3.

Undersg selv hvilke regler der glder p dit institut/afdeling/gymnasie/skole.


Frontmatter

Frontmatter er et begreb5 som dkker over alle de indledende ting fr man egentligt starter p selve indholdet af vrket. Det er isr her specialer og bachelorprojekter har specielle punkter som kan placeres her. Frontmatter indeholder normalt ting s som: (i) Abstrakt/resum6 hvor i rkkeflgen det skal placeres, er noget man skal drfte med sin vejleder, samt konsultere instituttets regler (hvis de har sdanne). Resumeet str normalt p en (ulige) side for sig selv (med blank bagside, hvis det alts fylder under en side). Man kan sagtens have et dansk og et engelsk abstrakt efter hinanden, se Eksempel 13.22.
3 FiXme Note: tjek lige hvor det er man anbefales at placere en dedikation. 4 FiXme Note: denne er jeg ikke helt sikker p er et krav 5 Kender ikke noget dansk ord for det 6 Bemrk at book -klassen faktisk ikke har noget abstract-environment, det har memoir til gengld.

303
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

(ii) Indholdsfortegnelse samt eventuelle oversigter over gurer og tabeller (\listoffigures og \listoftables) (iii) Man kan placere en symbolliste under frontmatter, den kan dog ogs placeres under backmatter i slutningen af bogen. (iv) Indledning og/eller opsummering. Da indledningen ofte ikke indeholder noget som anvendes senere i specialet br dette placeres under frontmatter. (v) Taksigelsen, det er altid vigtigt at man takker alle de som har hjulpet med at lave denne bog, om det s bare er medstudenrede som har gjort at man ikke gav op.7 Det er i hvert fald god tone at takke sin(e) vejleder(e). (vi) Dedikation, eller tilegnelse. I Chicago (2003) anbefaler de at dedikationen havner p side v, men det er sikkert ogs noget man selv kan bestemme. Bemrk at det er ikke ndvendigt at skrive Dedikeret til. . . , Til. . . er nok. Men det betemmer man selv. Der er tradition for at frontmatter nummereres med sm romertal. Ofte undertrykkes sidetallet p siderne med abstrakt eller en eventuel dedikation. Samtidigt er der tradition for at man ikke nummererer afsnit eller kapitler indenfor frontmatter, disse br dog i et vist omfang stadigvk fremg af indholdsfortegnelsen. Dette klarer man meget nemt med en systemkonguration. Se afsnit 13.3.7.
Mainmatter

Mainmatter indeholder s selve teksten, normalt inddelt i kapitler (mske lidt anderledes vedrrende bachelorprojekter). Mainmatter nummereres med almindelige tal og frste side starter fra nummer 1 (dvs. sidetlleren nulstilles ved indgangen til mainmatter). Side 1 behver ikke vre frste side af et kapitel, det kan ogs vre en \part-side. Der er mange som bliver forvirrede over dette med at indledningen er en del af frontmatter og ikke mainmatter. Den nemmeste mde at forklare det er at indledningen ofte skal ses som en opsummering af selve vrket. Man kan f.eks. forklare hvad der kommer til at ske i de enkelte kapitler, opsummere de vigtigste resultater, etc. Hvis det man har skrevet som introducerende materiale inkluderer ting som anvendes senere (f.eks. denitioner som ikke speciceres andetsteds), s er det i og for sig ikke nogen indledning man har skrevet, s er det en introduktion og s skal den placeres indenfor mainmatter.
Sidebemrkning 13.4.

Backmatter

Backmatter indeholder de forskellige former for efterskrift man mtte inkludere. Dette kan omfatte: (a) Appendikser/bilag, (b) symbolliste (hvis man ikke har placeret den i frontmatter), (c) slutnoter (hvis man har valgt dette i stedet for/sammen med fodnoter),
7 Skulle undertegnede vre nvnt i indledningen af de dokumnet man er ved at skrive, modtager jeg gerne

en printet kopi til min trofhylde. S kommer den til at st der for andre at sge inspiration fra.

304
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

Specialelayout med memoir casestudy

(d) litteraturliste, (e) indeks og til allersidst (hvis ikke man har placeret den bagp forsiden) (f) kolofonen. Appendikserne/bilag kommer normalt frst, s symbolliste og slutnoter, litteraturliste og indeks. Nogle vlger at have bde appendikser samt bilag. Sidenummereringen fortstter fra mainmatter. Bemrk at der er tradition for at kapitlerne i appendikset nummereres anderledes end i mainmatter ofte med store bogstaver (A, B, C,. . . ) eller med store romertal. Hvis man anvender bde bilag og appendices, s kan man anvende store bogstaver til den ene del og store romer tal til den anden, se afsnit 13.5.
13.3
8

Specialelayout med memoir casestudy

Dokumentklassen memoir er sammen med klasserne i KOMA9 bundtet nok de bedste og mest kongurerbare dokumentklasser tilgngelige i dag. Man skal se memoir som en erstatning for dokumentklassen book idet den anvender \chapter som verste primre afsnitsniveau. Men klassen kan om ndvendigt emulere article. Memoir -manualen (Wilson, 2010) er stor og omfattende, dvs. den forklarer hvordan man kongurerer alle aspekter af dokumentdesignet vel at mrke stort set uden brug af (mange) eksterne pakker! Ergo er memoir -klassen sammen med manualen det eneste man har brug for at justere layoutet til sit dokument. Den nemmeste mde at lse et memoir relateret problem/opgave er at sl op i indholdsfortegnelsen og kigge i teksten samt p eventuelle eksempler i det pgldende kapitel, eller sende et sprgsml til nogen som ved mere om det (f.eks. undertegnede). Da alt hvad man har brug for ndes i memoir -manualen vil vi i det flgende ikke g s meget i detaljer, men i stedet bygge det op som et casestudy og s i stedet se p hvordan man lser dette med memoir . For yderligere oplysninger henvises til memoir -manualen. Rettelser til memoir -klassen kommer i form at en patchpakke mempatch, som man nder p ctan. Denne pakke skal ikke indlses i dokumentet. Hvis den ndes p systemet indlser memoir -klassen selv patch-pakken. ndringer og tilfjelser via mempatch er normalt dokumenteret gennem memoir addendum, som man nder p ctan sammen med mempatch. I skrivende stund er begge tomme, da den tidligere version af mempatch og addendummet er blevet sammenettet med henholdsvis memoir -klassen samt Wilson (2010).
Sidebemrkning 13.5.

Vi gr i denne bog ud fra at man altid anvender den seneste version af memoir -klassen. Dette betyder i praksis at man anvender memoir v1.61803 fra 26. maj 2008, eller enhver nyere version.
Formaning 13.6.

8 FiXme Note: side henvisninger til memman skal tjekkes igennem 9 Findes p ctan og er med i alle distributioner, udvikles i Tyskland og skulle vre virkelig god. Personligt

har jeg ingen erfaring med dem, idet jeg anvender memoir til det meste. Men klasserne skulle vre lette at g til og skulle vre nt dokumenterede. KOMA-bundet omfatter klasserne scrartcl, scrbook, scrlettr, scrlttr2 og scrreprt som erstatning for standardklasserne article, book , report og letter .

305
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

13.3.1

Layoutformulering

Antag vi er blevet plagt at anvende nedenstende layout-specikation. Layoutet er ikke videre pnt og er ikke noget man skal gre brug af til et virkeligt projekt. Meningen er i stedet at man skal lse diskussionen som flger med de enkelte dele og s ud fra dette samt eksemplerne justere sit dokument. Vi anvender den ikke helt pne formulering fordi den af pdagogiske grunde er nem at formulere og nem at g til.

Jeg vil gerne benytte lejligheden til at komme med en mindre formaning: Der er rigtigt mange skabeloner i omlb, folk arver/lner fra hinanden, hvilket jo er meget nt. Disse skabeloner er sjldent videre godt dokumenteret, dvs. kommentarer indsat for at forklare hvad de enkelte dele i skabelonen gr. Man kan endda vre s uheldig at stde p skabeloner som skriver noget som er direkte lgn! (Ofte misforstelser.) Jeg vil derfor opfordre til, at modtager man en skabelon fra en eller anden s br man stte sig ned og kigge denne igennem, samt skrive ned hvad de enkelte dele gr. Fjerne det som du ikke fr brug for (s er der mindre risiko for at der kommer konikter). P denne mde fr man et overblik over hvad der er i skabelonen, og nsker man at ndre noget, s har man en ide om hvor det er henne. Et par ting som man skal vre opmrksom p:
Formaning 13.7.

Pakken graphicx skal ikke speciceres med driveren dvips eller pdftex, det er totalt undvendigt. Eneste tidspunkt hvor man skal angive en driver er nr man skal bruge dvipdfmx, hvor man skal anvende driveren af samme navn. Margin justeringer hvor man ndrer lngde makroer med \setlength, man br anvende geometry, typearea eller klassens egne indbyggede features til at stte marginer med. Dette er isr vigtigt hvis man nsker at ndre noget.

De specikke layout ting vi vil vise hvordan man lser, er som flger:
Marginer: Top: 3cm, bund: top + 20%, venstremargin skal vre 3/4 af hjremargin. Sidehoved og -fod: Sidetallet skal st ved yderste margin i sidens fod, dette glder

ogs kapitelforsider og lignende. Sidehovedet skal indeholde kapiteloverskrift p venstresider og section- til og med subsubsection-overskrifter i det hjre sidehoved. Kapitelsidehovedet skal yderligere indeholde ordet Kapitel (eller Appendix) samt kapitelnummeret. Sidehovedet p uligesider skal ikke indeholde afsnitsnumre. Begge sidehoveder centreres. Overskrifter: Alle overskrifter skrives med fed sans-serif. Alle afsnit (indenfor mainmatter) nummereres undtagen \subsubsection og nedefter. Indholdsfortegnelse: Indholdsfortegnelsen skal kun omfatte (\part,) \chapter og \section. Bibliogra, gur/tabeloversigt og et eventuelt indeks skal ogs fremg af ToCen. Desuden skal indholdsfortegnelsen have overskriften Indholdsfortegnelse. Forside: Af forsiden skal det fremg hvilket omrde vrket hrer under, navn og rskortnummer p forfatteren samt navnet p vejleder(e). I det flgende forklarer vi kort hvordan man opnr dette med memoir , vi vil i de este tilflde bare henvise til de enkelte sider i memoir -manualen for mere information om hvordan man anvender denne konguration.
306
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

Dokumentets dimensioner

13.3.2

Dokumentets dimensioner

Generelt er det meget svrt at sige hvad der ville vre gode marginer til et givet projekt. Det kommer an p mange ting. Nogle nsker f.eks. at placere deres gurer i den ydre margin (noget som ikke er forklaret i denne bog), hvilket naturligvis betyder visse restriktioner for hvor bred selve teksten kan blive. En anden faktor er valget af skrifttype samt strrelsen af denne. En tekstbredde som er n ved 12 pt, kan nemt vre for bred ved 10 pt. I Wilson (2010), kapitel 2, nder man en generel diskussion af marginer anvendt i typograen ned gennem tiderne. Noget man vil opdage er at man i et to-sidet layout altid har strre margin ved den ydre kant i forhold til den indre. Dette forvirrer mange, som mener at det burde vre omvendt. Men det er alts en meget gammel tradition, som man opfordres til at flge. Den strre ydre margin kan jo s anvendes at placere tommelngeren nr man sidder og lser, samt til notater. Man opfordres ogs til at passe p med at selve bredden af teksten ikke bliver for lang, da dette bevirker at man bliver forvirret og skal koncentrere sig mere for at forst teksten. Lngden af linierne br vre mellem 60 og 80 tegn per linie i gennemsnit (nogle stter grnsen lidt lavere). Det kommer naturligvis ogs an p om man anvender et tosjlet layout. Er man i tvivl kan man jo forsge sige med det gyldne snit, dvs. sledes at forholdet mellem hjden og bredden af teksten kommer til at svare til tallet = (1 + 5)/2 = 1.61803 . . . Memoir-klassen har en funktionalitet svarende til geometry-pakken direkte indbygget, om end det er en noget anderledes syntaks. Vi vil anvende denne syntaks til at justere vore marginer. Opstningen af dokumentets indre dimensioner (papirstrrelsen speciceres normalt gennem klasseoption, se dog behandlingen af B510 ) kan formuleres p to mder: (1) Man kan specicere hvor meget der skal vre mellem kanten af papiret samt kanterne af omrdet hvorp teksten bender dig (kaldet tekstblokken). Man specicerer s at sige marginerne. (2) Den anden metode vender dette p hovedet. Hvor (1) lader marginerne bestemme strrelsen af tekstblokken, kan man omvendt specicere strrelsen af tekstblokken og s efterflgende placere denne p papiret. Begge typer har sine fordele og ulemper. Den frste metode er nem at forholde sig til, men nsker man at ytte lidt rundt p tekstblokken, skal man justere ere steder for at sikre sig at tekstblokken ikke ndrer sig. Metode (2) er lidt svrere at forholde sig til som nybegynder, men har den fordel at nr tekstblokkens hjde og bredde ligger fast, s kan man nemt ytte rundt med tekstblokken, indtil man synes man har opnet den bedste placering. Og denne omytning vil ikke pvirke ombrydningerne. Desuden kan man f.eks. p denne mde specicere at tekstbredden skal svare til et bestemt antal tegn.
Sidebemrkning 13.8.

Selv om vi normalt anbefaler at man specicerer marginer aller frst i preamblen, s vil vi anbefale at man justerer sine fontvalg lige inden. Dette skyldes at memoir kan beregne bredden af et bestemte antal tegn og denne strrelse afhnger naturligvis af skrifttypen.
Sidebemrkning 13.9.

10 FiXme Ddelige: hvor?

307
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

Den sidste ting som er relevant for marginerne er at hjden af tekstblokken br svare til et helt antal linier (rent teknisk er det faktisk blokhjde = \topskip + n \baselineskip hvor n N og n + 1 er antallet af linier i tekstblokken). Men det klarer memoir for os, hvilket betyder at hjden af tekstblokken ikke ndvendigvis svarer til det vi bad om (man kan selv justere p denne algoritme, se Wilson (2010), slutningen af afsnit 6.6). Konstruktionen vi skal anvende for at klare vores specikation er forklaret i Wilson (2010), kapitel 6, isr afsnit 6.46. S marginerne sttes op via (vi har bare valgt en vrdi for hjremargin, det var jo ikke speciceret hvad den skulle vre):
Eksempel 13.1

\setlrmarginsandblock{*}{3.5cm}{0.75} % hjre og venstre \setulmarginsandblock{3cm}{*}{1.2} % top og bund \checkandfixthelayout[nearest] % specifikt valg af hjde algoritme

Den sidste makro er ndvendig idet memoir internt anvender sine egne lngdenavne og \checkandfixthelayout srger bde for at udregne de ikke specicerede lngder samt specicere disse vrdier i de almindelige lngdenavne som diverse andre pakker forventes at kunne reagere p. I Wilson (2010), kapitel 6, kan man ogs se hvordan man kan justere hvor sidehoved og -fod skal placeres inden i top og bundmargin. Flles for alle disse makroer er at de skal udfres fr \checkandtixthelayout. nsker man alternativt at specicere tekstblokken og dernst placere den p papiret, s ndes lsningen ogs i Wilson (2010), kapitel 6. Her skal man s anvende hjde }{ bredde }{ faktor } \setlrmargins{ ryg }{ kant }{ faktor } \setulmargins{ vre }{ nedre }{ faktor }
\settypeblocksize{ \checkandfixthelayout[nearest]

Hvor der s er andre regler for fortolkningen af argumenterne, f.eks. skal man kun angive t af argumenterne til \setlrmagins og s lade de andre vre *. Ls mere i memoir -manualen (tabel 6.2 og tabel 6.4). Som et lille kuriosum kan nvnes at nsker man at have en tekstbredde svarende til 65 tegn, og et forhold svarende til det gyldne snit, s kan dette gres via
Eksempel 13.2
\setxlvchars[\normalfont] % beregner bredden 65 tegn i nuvrende font \settypeblocksize{*}{\lxvchars}{1.61803} % specifikation af tekstblok ... \checkandfixthelayout[nearest]

(evt. kan man gre den lidt bredere via f.eks. 1.03\lxvchars).
13.3.3
11

Sidehoved og -fod

Memoir har et langt bedre system til behandling af pagestyles end standardklasserne. Blandt andet har man givet kapitelforsider har deres egen pagestyle, hvis siden fr et nyt kapitel er tom, s fr den ogs en speciel pagestyle, alle disse kan nemt kongureres. Her er nogle af de alimindeligt brugbare pagestyles memoir -klassen stiller til rdighed: empty tomt sidehoved og -fod,
11 FiXme Ddelige: dette skal skrives om

308
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

Sidehoved og -fod

plain tomt sidehoved, centreret sidetal i foden, part anvendes p \part sider, normalt alias for plain, chapter anvendes til kapitelforsider, alias for plain, cleared anvendes p de tomme sider fr kapitler (o.lign.), alias for empty title anvendes p siden hvor man har anvendt \maketitle, alias for plain, titlingpage anvendes indeni memoir s konstruktion til forsideren gennem titlingpageenvironmentet, se afsnit 13.3.6. Alias for empty. Dog skal man vre opmrksom

p at dette kun glder den frste og den sidste side. Mellemliggende sider kan sagtens f sidehoved eller -fod. Dette m man s rette undervejs med \thispagestyle. indextitlepagestyle denne anvendes til forsiden af index, alias for chapter. Grunden til at man ikke bare anvender chapter direkte er s man f.eks. kan lave short cuts i indekset som vi har i PDF-udgaven af denne bog. headings dette er standard pagestylen i memoir . Den har en tom sidefod, sidetallet skrives i sidehovedet ved den yderste kant af papiret. Desuden indeholder den kapitel information i sidehovedet p venstre sider, og section information p hjre sider. Memoir har desuden nogle ekstra predenerede pagestyles p linie med headings, disse er nrmere beskrevet i Wilson (2010). For en god ordens skyld rekapitulerer vi lige hvad en pagestyle er. Pagestylen besr af de makroer som indstter sidehoved og -fod nr siden bliver samlet. Disse makroer kan s f forskellige oplysninger stillet til rdighed, f.eks. sidetallet samt dynamisk titelmateriale (f.eks. kapitel- og sektionsoverskrifter). Klassen memoir har s lavet et specielt interface til disse makroer, som gr dem nemme at ndre. For ere detaljer om pagestyles, kan man tage et kig p Madsen (2008a). De dynamiske overskrifter er tilgngelige for sidestilen via \leftmark og \rightmark.12 Fortolkningen af dem er at \leftmark indeholder informationen fra den sidste specikation til \leftmark fr sideskiftet, mens \rightmark indeholder den frste specikation til \rightmark. Hvis ingen af dem er angivet p nuvrende side tages de seneste specikationer fra siden fr. Vi vil senere forklare hvordan man fr speciceret hvad \leftmark hhv. \rightmark kommer til at indeholde. Memoir-klassen tillader os nemt at lave en ny pagestyle f.eks. p basis af en anden, eller at lade en pagestyle vre et andet navn for en given pagestyle. Vi vil frst kort se p hvordan man laver sin egen pagestyle i memoir , hvorefter vi lser problemet vi blev givet. De centrale makroer er navn } \copypagestyle{ nyt navn }{ original } \aliaspagestyle{ alias navn }{ original } \makeevenhead{ style }{ venstre }{ center }{ hjre } \makeoddhead{ style }{ venstre }{ center }{ hjre } \makeevenfoot{ style }{ venstre }{ center }{ hjre } \makeoddfoot{ style }{ venstre }{ center }{ hjre } \makepsmarks{ style }{ kode denitioner } \makeheadrule{ style }{ bredde }{ tykkelse } \makefootrule{ style }{ bredde }{ tykkelse }{ skip }
\makepagestyle{
12 Det er muligt at f adgang til endnu ere typer marks, men det ligger udenfor denne bog.

309
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

Alle makroerne er forklaret i Wilson (2010), kapitel 14, specielt 14.13. Bemrk at stile lavet med \aliaspagestyle, ikke kan ndres via \makeoddhead og venner. nsker man at ndre noget ved en stil og bevare den originale s br man starte med at lave en kopi med \copypagestyle. Nrmere forklaring ndes i Madsen (2008a).
Sidebemrkning 13.10.

Bemrk desuden at i memoir skal en dokumentstil aktiveres fr ndringerne kan ses, dvs. med \pagestyle. Dette glder ikke for stile som kun anvendes lokalt, f.eks. chapter-stilen.
Sidebemrkning 13.11.

De to frste makroer laver/overskriver en helt ny pagestyle, forskellen er at \copypagestyle kopierer alle settings hrende til original , hvorimod \makepagestyle stter dem alle til at vre tomme. Aliaserne bevirker bare at \pagestyle{ alias } er det samme som at udfre \pagestyle{ original }, men det gr det nemt at ytte om p alias senere. Man anvender ogs \aliaspagestyle til at ndre et givet alias, kan endda anvende den til at lade en almindelig sidestil pege p en givet anden stil. Brugen af de re makroer \makeoddhead,. . . ,\makeevenfoot giver sig selv. Man skal huske at even henviser til venstre-sider, mens odd er hjre-sider. Husk ogs at p venstre sider er hjre ind mod ryggen af dokumentet, mens hjre p hjre sider er ud om yderkanten af papiret. Selve indholdet man anvender til venstre , center og hjre bestr sdvanligvis af fontspecikation incl. strrelse \thepage \leftmark eller \rightmark En ofte anvendt opstning er baseret p flgende eksempel
Eksempel 13.3
\makepagestyle{minstil} \makeoddhead{minstil}{\small\itshape\rightmark}{}{\small\thepage} \makeevenhead{minstil}{\small\thepage} % behver ikke noget i sidefod .... % mangler marks som forklares senere % aktivering \pagestyle{minstil} {}{\small\itshape\leftmark}

I stedet at direkte at lave sin egen stil, kan man naturligvis ogs pille ved headingsstilen. Hvorvidt noget skal skrives med rent store bogstaver i f.eks. sidehovedet, skal ikke speciceres via eksempelvis \makeoddhead, af forskellige rsager skal dette speciceres fr data gives til \leftmark eller \rightmark. Vi forklarer hvordan i nste sektion.
Sidebemrkning 13.12.

Man kan stte streg under sidehovedet eller over sidefoden. Til dette anvendes de benlyse makroer \makeheadrule og \makefootrule, argumenterne er nogenlunde nemme, bredden vil oftest sttes til \textwidth og til tykkelsen kan man anvende \normalA rulethickness, s tykkelsen passer med mange andre konstruktioner i L T X. skip E delen ved linen til footeren br sttes til \footruleskip.
310
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

Opstning af marks

Opstning af marks

Justeringen af hvad f.eks. \chapter stiller tilrdighed til headerne har altid vret et A mareridt for nye og erfarne brugere, det krvede speciel viden om L TEXs interne makroer. Det er heldigvis blevet bedre med den nye version af memoir . \leftmark og \rightmark tildeles data via makroer som er indbygget i f.eks. \chapter, \section, \tableofcontents eller thebibliography-environmentet, navngivet hhv. \chaptermark, \sectionmark, \tocmark og \bibmark. Det er s op til brugeren at denere hvad alle disse makroer skal gre. I memoir anvender vi \makepsmarks{ style }{ code } til at associere \...mark denitioner med en bestemt style . I den nye version af memoir har vi tilfjet tre ekstra makroer til at generere indholdet af \...mark-makroerne for os. De tre kommandoer er type }{ marks }{ tekst } sec }{ marks }{ vis i mainm. }{ prex }{ postx } \addtopsmarks{ style }{ ekstra kode til start }{ ekstra kode til slut }
\createplainmark{ \createmark{

Den frste makro er til de skaldte plain marks, dette dkker over indholdsfortegnelsen (og venner), indekset samt litteraturlisten. type skal vre en fra listen toc, lot, lof, index, bib (samt andre som ikke anvendes s ofte). marks angiver om det kun skal skrives til \leftmark (left), til \rightmark (right) eller begge (both). Man anbefales altid at anvende both. tekst er s den tekst som skal gives til headeren. Den mest almindelige konguration af plain marks er:
\createplainmark{toc} \createplainmark{lof} \createplainmark{lot} \createplainmark{bib} {both}{\contentsname} {both}{\listfigurename} {both}{\listtablename} {both}{\bibname}

Eksempel 13.4

\createplainmark{index}{both}{\indexname}

De generelle regler for hvad der skal med nr f.eks. \chapter skriver noget til headeren er noget mere komplekse, hvorfor makroen \createmark har ere argumenter. Husk ivrigt at \chapter i memoir kan hndtere op til to alternative argumenter, sledes at man har
Sidebemrkning 13.13.
\chapter{test} % test skrives til tekst, header og toc \chapter[til toc og sidehoved]{til tekst} \chapter[til toc][til sidehoved]{til tekst}

Eksempel 13.5

meget anvendelig hvis man har meget lange titler som ikke egner sig til headeren. En af anbefalingerne er at nr man er indenfor frontmatter s skal der slet ikke skrives nogen kapitel- og seksionsnumre, ej heller i headeren, mens man i mainmatter kan vlge at tage nummeret med i headeren. Nogle nsker ofte at man indenfor mainmatter kan tilfje ordet Kapitel foran kapitelnummeret. Dette kan vi nu lave meget nemt via:
\createmark{

sec }{ marks }{ vis i mainm. }{ prex }{ postx }

\createmark

sec henviser til chapter, section, etc.13 marks er left, right eller both som tidligere beskrevet. vis i mainm. skal vre enten shownumber eller nonumber
13 Man kan ogs anvende part som jo ligger over kapitel niveau, men dette anvendes meget sjldent.

311
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

og angiver om man nsker at tage et eventuelt nummer med udenfor frontmatter. Har man helt slet nummereringen fra for denne sec kommer der naturligvis heller ikke noget nummer med i headeren. I fald man nsker nummerering s skrives prex fr nummeret og postx efter. prex kan f.eks. anvendes til at tilfje ordet Kapitel og postx vil oftest vre . \ . Alle marks til standardstilen i memoir (headings) kan til et to-sidet setup nu skrives (jeg vil nu altid anbefale at man anvender both ved chapter):
Eksempel 13.6
\makeatletter % pga. \@chapapp {left} {shownumber}{\@chapapp\ }{. \ } {right}{shownumber}{} {both} {\contentsname} {both} {\listfigurename} {both} {\listtablename} {both} {\bibname} {. \ }

\makepsmarks{headings}{ \createmark{chapter} \createmark{section} \createplainmark{toc} \createplainmark{lof} \createplainmark{lot} \createplainmark{bib} } \makeatother

\createplainmark{index}{both} {\indexname}

Hvor \@chapapp er den magiske makro \appendixname \@chapapp = \chaptername hvis vi er indenfor \appendix ellers

Som man nok kan se laver memoir som standard ikke marks ved \subsection eller \subsubsection, for nemt at kunne tilfje dette skal vi anvende den sidste marko, \addtopsmarks, lad og tilfje marks til headings:
Eksempel 13.7
\addtopsmarks{headings}{}{% \createmark{subsection} } {right}{shownumber}{}{. \ } \createmark{subsubsection}{right}{shownumber}{}{. \ }

Hndtering af kapitaler i marks

\...mark

I standardklasserne samt som standard i memoir vil al data skrevet til headerne via kommandoerne blive skrevet med store bogstaver. I standardklasserne er dette ikke nemt at kse, men i memoir er det nu blevet nemt at ndre. Som oftest nsker man bare at fjerne kapitaleringen, hvilket gres via
\nouppercaseheads

\nouppercaseheads

hvorefter pagestylen lige skal aktiveres igen. Stilen vi skulle lave, er anderledes end headings, s vi laver vores egen stil kaldet bog:

312
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

Justering vedr. overskrifter

\makeatletter % pga \@chapapp \makepagestyle{bog} % laver en ny tom pagestyle \makeevenhead {bog}{}{\small\sffamily\leftmark} {} \makeoddhead \makeoddfoot \makepsmarks {bog}{}{\small\sffamily\rightmark}{} {}{} {bog}{}{}{\small\sffamily\thepage} {bog}{ {both} {shownumber} {\@chapapp\ }{. \ } {right}{nonumber} {right}{nonumber} {} {} {} {. \ } {. \ } {. \ } \makeevenfoot {bog}{\small\sffamily\thepage}

Eksempel 13.8

\createmark{chapter} \createmark{section} \createmark{subsection} \createplainmark{toc} \createplainmark{lof} \createplainmark{lot} \createplainmark{bib} \createplainmark{index} }

\createmark{subsubsection}{right}{nonumber}

{both}{\contentsname} {both}{\listfigurename} {both}{\listtablename} {both}{\bibname} {both}{\indexname}

\nouppercaseheads % ingen rene kapitaler \makeatother

Dernst skal denne nye sidestil aktiveres:


\pagestyle{bog}

Eksempel 13.9

For at kse stilen anvendt p specielle sider overskriver vi plain med den pagestyle vi lige har lavet og sletter sidehovederne (husk at vi skal bruge \copypagestyle):
\copypagestyle{plain}{bog} \makeevenhead{plain}{}{}{} % slet venstre sidehoved \makeoddhead{plain}{}{}{} % slet hjre sidehoved

Eksempel 13.10

Hvilket er alt hvad man behver gre for at kongurere sidehoved og -fod. Da chapter, part og indextitlepagestyle alle p en eller anden mde peger tilbage p plain er det nok at ndre netop denne stil.
13.3.4 Justering vedr. overskrifter

Dette behandles i Wilson (2010), kapitel 8 som handler om dokumentopdelinger. Memoir-klassen har specielle konstruktioner som kan styre hvordan frste side i et kapitel skal se ud, i memoir kaldes dette for chapterstyle, kan sammenlignes med pagestyle. Selve memoir -manualen (Wilson, 2010) er faktisk skrevet sledes at hvert kapitel anvender en speciel chapterstyle. Dette kan vre en smule forvirrende, s undertegnede har samlet dem samt visse andre i showcase-len man nder i Madsen (2008b), henter man kildekoden til dokumentet og overstter den n gang p sin maskine s bliver koden som skal anvende til de enkelte chapterstyles skrevet til separate ler (s er man fri for at skulle skrive af). Skulle man have et design som man nsker at f lavet til en memoir chapterstyle, s kan man prve at kontakte undertegnede s kigger vi p det. Memoir har ogs metoder til totalt at styre hvordan \part-siden skal se ud. Desuden stilles simple makroer til rdighed som kan styre udseendet af \section og lignende. Disse kan dog ikke styres i helt samme grad som f.eks. kapitler, men man kan f.eks. styre mellemrummet fr og efter. Standard fontstrrelserne for part, kapitel og sektion, kan ses i Wilson (2010), tabel 8.2. Standardvrdierne for mellemrummet fr og efter, m man nde i kildekoden. Bemrk at mellemrummene br/skal angives med skaldte strk og krymp vrdier, sledes at har en side brug for at blive strukket/krympet s er der mulighed for at tage lidt omkring overskrifterne.
313
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

I vores specikation vil vi bare gerne have teksten i fed sans-serif.14 Vi vlger at pille ved den chapterstyle som er aktiv som standard (den hedder default), dvs. vi ndrer nogle af de makroer som den aktiverede chapterstyle ndrede.
Eksempel 13.11
% til kapitler \renewcommand\chapnamefont{\huge\bfseries\sffamily} \renewcommand\chapnumfont{\chapnamefont} \renewcommand\chaptitlefont{\Huge\bfseries\sffamily\raggedright} % til afsnitsoverskrifter \setsecheadstyle{\Large\bfseries\sffamily\raggedright} \setsubsecheadstyle{\large\bfseries\sffamily\raggedright} \setsubsubsecheadstyle{\normalsize\bfseries\sffamily\raggedright} \raggedbottomsectiontrue

\raggedbottomsectiontrue

Makroen \raggedbottomsectiontrue srger for at nr en afsnitsoverskrift forekommer A tt p et sideskift, hvor L TEX normalt placerer overskriften verst p nste side, da vil siden fr sideskiftet ikke blive strakt nvnevrdigt.
13.3.5 Afsnitsnummerering og justering af indholdsfortegnelsen

I standardklasserne (book eller article) kan man justere p hvilke afsnitsoverskrifter skal nummereres og hvor langt ned i hierarkiet indholdsfortegnelsen skal g, ved at justere tllerne secnumdepth og tocdepth. Men med denne metode skal man selv huske at f.eks. \section svarer til tallet 1. I memoir har vi et nemmere interface til at justere p disse tllere: afsnitsnavn } \maxsecnumdepth{ afsnitsnavn } \settocdepth{ afsnitsnavn }
\setsecnumdepth{

Hvor afsnitsnavn er navnet (uden \) p den makro man nsker at lade dybden g til og med. F.eks. vil
Eksempel 13.12
\setsecnumdepth{subsection} \maxsecnumdepth{subsection} % til og med % den maksimale dybde

srge for at f.eks. \subsubsection ikke nummereres (s man ikke behver at anvende den stjernede udgave for at undg nummeret). \maxsecnumdepth placeres normalt bare i preamblen, og anvendes i \mainmatter for at justere dybden efter \mainmatter (indenfor \fronmatter er der jo ingen nummerering). Bemrk at \settocdepth ikke behver vre den samme dybde som \setsecnumdepth, man kan sagtens have ToC dybde som er dybere eller lavere end selve nummereringen af afsnit. Anvender man \setsecnumdepth i selve teksten s vil den ogs stte \maxsecnumdepth.

14 Vi gr i denne gennemgang ud fra at man ikke anvender \part, ellers skulle man selvflgelig ogs kongu-

rere den.

314
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

Forside med memoir

Justeringen vi blev bedt om at lave bliver s til


\setsecnumdepth{subsection} \maxsecnumdepth{subsection} \settocdepth{section} % til og med % den maksimale dybde % til og med

Eksempel 13.13

I memoir kommer bibliogra, indholdsfortegnelse, indeks etc. automatisk med i indholdsfortegnelsen. Skulle man ikke nske at indholdsfortegnelsen selv optrder som punkt i ToCen skal man blot anvende \tableofcontents*, bemrk *. For at f skiftet overskriften p indholdsfortegnelsen justerer vi ved babel, se afsnit 9.4.
\addto\captionsdanish{\renewcommand\contentsname{Indholdsfortegnelse}}

\tableofcontents*

Eksempel 13.14

Se ivrigt ogs afsnittet 13.5 p side 328 for et smart lille memoir trick. I Wilson (2010) kan man ogs lse hvordan man kan justere forskellige ting i indholdsfortegnelsen, bl.a. fonte, prikker, luft etc. Det kan man selv lse om, vr meget opmrksom p at lse teksten sledes at man nder ud af hvad X betyder. Noget man nemt kan komme ud for med lange dokumenter er at afsnitsnummereringen eller sidetallet kommer til at fylde mere end der er afsat plads til i designet af indholdsfortegnelsen. Til at justere bredden af omrdet hvori sidetallet placeres anvendes
\setpnumwidth{ \setrmarg{

lngde } lngde }

Den frste stter bredden af boksen hvori sidetallet sidder, den anden (\setrmarg) styrer hvor langt mod hjre teksten i indholdsfortegnelsen m komme, det er s at sige den hjre margin for titlerne i TOCen. Vrdien angivet i \setrmarg skal vre strre end vrdien i \setpnumwidth. I denne bog anvender vi noget lignende 2.55 em hhv. 3.55 em. Har man problemer med afsnitsnumre, f.eks. 10.10 s er det lngden
\cftXnumwidth

vi skal have gang i, hvor X svarer til typen af indgangen man retter, f.eks. section. Man kan s lgge lidt til denne via \addtolength.
13.3.6 Forside med memoir

Det at designe en forside er lidt en kunst i sig selv og det er ikke noget vi kan n at dkke til fulde her, vi vil i stedet prsentere nogle af de redskaber man kunne f brug for. Peter Wilson, som har skrevet memoir -klassen, har skrevet en oversigt over nogle forskellige forside-designs, se Wilson (2007b) for yderligere information. Dokumentet starter med at fremvise de forskellige designs, hvorefter koden til hvert design kan forendes i slutningen af dokumentet.
Sidebemrkning 13.14.

315
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

Louises forside

Her p IMF15 er der efterhnden en del studerende som har fet den samme forsideskabelon. Den blev frste gang anvendt da jeg lavede den til Louise Pold Thomsens bachelorprojekt derfor tituleret som Louises forside.16 Da denne forside har fet positiv respons tager vi den med her. Eksempel 13.15 angiver forsiden som et selvstndigt dokument. Bemrk at denne forsiden viser eksempel p hvordan den engelske titel kunne vises frem. Cirklen skal naturligvis udskiftes med et logo eller et andet billede.
Eksempel 13.15
\documentclass[a4paper,12pt]{memoir} \setlrmarginsandblock{3cm}{*}{1.25} \checkandfixthelayout \usepackage[latin1]{inputenc} \usepackage[danish]{babel} \usepackage[T1]{fontenc} \usepackage{graphicx} \usepackage{mathpazo}% palatino + matematik \usepackage{soul} % lege lege \sodef\an{}{0.2em}{.9em plus.6em}{1em plus.1em minus.1em} \newcommand\stext[1]{\an{\scshape#1}} \begin{document} \begin{titlingpage} \thispagestyle{empty} \centering { \setlength{\baselineskip}{24pt} {\Huge \stext{Overlejringer} \par \textit{\&}\par \stext{Hadamards Stning} }\par \stext{(Covering Spaces and Hadamards Theorem)} \par\vspace*{4\onelineskip} \par \includegraphics[width=8cm]{fig.2} \par\vspace*{4\onelineskip} \stext{Bachelorprojekt i matematik}\par \large\stext{Louise Pold Thomsen --- 12345678}\par } \vfill \vspace*{2\onelineskip} \stext{Vejleder: Ib Madsen}\hfill \stext{30. marts 2004} \par\vspace*{2\onelineskip} \small \stext{Institut for Matematiske Fag}\par \stext{Aarhus Universitet} \enlargethispage{2\onelineskip} \end{titlingpage} \end{document}

Makroen \par som er anvendt i koden er det samme som en blank linie, den afslutter et afsnit. Her anvendt for at f koden til at fylde mindre. Pakken soul giver den specielle eekt hvor teksten har strre afstand mellem bogstaverne end normalt, se Franz (2003). \onelineskip er en speciel memoir -lngde. Resultatet kan ses p gur 13.2. Bemrk at rammen omkring billedet ikke er reprsentativ for tekstens forhold til papirets strrelse.
15 Institut for Matematiske Fag, Det Naturvidenskabelige Fakultet, Aarhus Universitet. 16 Tak til Louise for tilladelse til at koden kunne inkluderes her.

316
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

Louises forside

OVERLEJRINGER & HADAMARDS STNING


( C O V E R I N G S PA C E S
AND

HADAMARDS THEOREM)

BACHELORPROJEKT

M AT E M AT I K

LOUISE POLD THOMSEN

12345678

VEJLEDER: IB MADSEN

30.

MARTS

2004

I N S T I T U T F O R M AT E M AT I S K E FA G AARHUS UNIVERSITET

Figur 13.2: Forsiden til Louises bachelorprojekt.

317
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

Strits forside

Nr tiden tillader det kan studerende ved IMF komme forbi mit kontor og f hjlp til at f specialer, bachelorprojektor eller ph.d.-afhandlinger justeret. S i samarbejde med Marie strit Jensen har vi udarbejdet nedenstende forsidedesign til hendes speciale.17 Designet er inspireret af de designs man kan nde i Wilson (2007b). I stedet for cirklen er det naturligvis meningen at man skal anvende universitets segl, men det m vi bare ikke her. De specielle ting som er anvendt her er Utopia fonten (gennem fourier-pakken) samt specialkongureret letterspacing via soul, se afsnit 9.6.6. Vi har anvendt \MakeUppercase for ikke at skulle rette for meget i teksten mens vi eksperimenterede med designet. Desuden er strrelserne i titlen valgt sledes at de vigtige ting i specialet er fremhvet.
Eksempel 13.16
\documentclass[a4paper,11pt,oneside]{memoir} \setlrmarginsandblock{3cm}{3cm}{*} \setulmarginsandblock{3cm}{4cm}{*} \checkandfixthelayout \usepackage[danish]{babel} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \usepackage[widespace]{fourier}

\DeclareRobustCommand{\SetFourierSpace}{% \fontdimen2\font=1.13\fontdimen2\font} \usepackage{graphicx} \usepackage{soul} \sodef\an{}{0.13em}{0em}{0em} \begin{document} \huge \begin{titlingpage} \vspace*{5mm} \centering \textsc{\ann{Marie Jensen}} \an{1234\,5678} \vspace{3mm} \par \par \sodef\ann{}{0.13em}{0.5em}{0em} \usepackage{fix-cm}

\small

\fontsize{1.2cm}{1cm}\selectfont \MakeUppercase{\an{Coxeterelementers}} \vspace{3mm} \par \Huge \LARGE \MakeUppercase{\an{Orden}} \vspace{3mm} \MakeUppercase{\an{og}} \vspace{5mm} \par \par \par

\fontsize{1.2cm}{1cm}\selectfont \MakeUppercase{\an{Egenv\ae rdier}} \vspace{5mm} \large \sodef\ann{}{0.13em}{0.5em}{0em} \textsc{\ann{Vejleder: Henning Haahr Andersen}} \enlargethispage{15mm} \vspace{20mm} \includegraphics[width=8cm]{fig.2} \vspace{5mm} \vfill \normalsize \scshape \sodef\ann{}{0.13em}{0.6em}{0em} {\ann{Specialeafhandling i Matematik}} \vspace{2mm} \ann{Institut for Matematiske Fag} \ann{Aarhus Universitet} \an{2007} \end{titlingpage} \end{document} \par \par \par \par \par \par

Resultatet kan ses p gur 13.3. Bemrk at rammen omkring billedet ikke antyder papirets strrelse.

17 Tak til strit for tilladelse til at inkludere designet som et eksempel i bogen.

318
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

Strits forside

MARIE JENSEN
1234 5678

COXETERELEMENTERS
ORDEN
OG

EGENVRDIER
VEJLEDER: HENNING HAAHR ANDERSEN

SPECIALEAFHANDLING

M AT E M AT I K

I N S T I T U T F O R M AT E M AT I S K E FA G AARHUS UNIVERSITET 2007

Figur 13.3: Forsiden til Strits speciale.

319
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

Centrering af forside i forhold til papiret

Hvis forsiden skal anvendes som forside p et omslag kan det oftest vre en god ide at srge for at centrere teksten i forhold til papiret, i stedet for i forhold til tekstmarginerne. Dette kan man kse meget nemt med memoir , se eksempel 13.17. Her anvender vi environmentet \adjustwidth og makroen \calccentering til at f centreret forsiden i forhold til selve papiret. Hvis man ydermere nsker at tekstbredden p forsiden skal vre bredere end den gngse tekstbredde, s omkranser man bare forsiden af endnu en \adjustwidth.
Eksempel 13.17
\begin{titlingpage} \calccentering{\unitlength} % forudsat \unitlength ikke bruges til andet \begin{adjustwidth*}{\unitlength}{-\unitlength} \begin{adjustwidth}{-1cm}{-1cm} forside materiale \end{adjustwidth} \end{adjustwidth*} % efter forsiden ... \end{titlingpage}

I eksempel 13.17 har vi lavet forsiden centreret i forhold til papiret og tekstbredden p selve forsiden er 2 cm bredere end i resten af dokumentet. Se Wilson (2010), afsnit 9.5 for yderligere information.
En kolofon bag p forsiden

Er simpelt:
Eksempel 13.18
\begin{titlingpage} % forside kode \newpage \thispagestyle{empty} % fjerne evt. sidehoved og -fod \small %resten af teksten indenfor dette env skal vre \small \strut\vfill % pres alt ned i bunden af siden \par \par \begin{flushleft} \copyright\ Fornavn Efternavn 2008 Layout og typografi af forfatteren ved hjlp af \LaTeX Alle figurer er lavet med \MP \end{flushleft} \end{titlingpage} Dette vrk er trykt med Computer Modern 11pt\,/\,13.6pt \par

Makroen \MP kommer fra pakken mflogo og giver METAPOST. Vi anvender \par for at spare plads, og ushleft for at skubbe alt mod venste, samt fjerne indentering og linieombrydning.
13.3.7
\frontmatter

Frontmatter

For at skifte over til den normale frontmatter indstilling, skal man bare placere
\frontmatter

Eksempel 13.19

p det sted i sin tekst hvor man nsker at frontmatter skal starte. Dette er oftest lige efter forsiden eller efter forside relateret materiale. \frontmatter gr s flgende (under memoir , se Wilson (2010), kapitel 8) : (a) Skifter til en ny hjre (ulige) side.
320
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

En dedikationsside

(b) Starter sidenummereringen ved 1 og skriver sidetallet med romertal. (c) Slr alle afsnitsnummeringer fra. Dvs. at nu vil f.eks. \section{ tekst } ikke lngere have noget nummer, men tekst vil alligevel blive skrevet til indholdsfortegnelsen. (d) Figurer og tabeller nummereres (via \caption) fortlbende, som 1,2,3,. . .

En dedikationsside
18

Er ikke en del af forsiden, men meget nem med de teknikker som er beskrevet her eller i appendix.
% skal starte p en hjre side \cleardoublepage \thispagestyle{empty} % ingen sidehoved eller -fod \vspace*{\stretch{3}} % speciel faktoriseret gummilngde \begin{center} Til min kat \end{center} \vspace*{\stretch{17}} % ting efter siden skal starte p en hjre side \cleardoublepage

Eksempel 13.20

Med memoir kan man indeni center evt. anvende environmentet


\begin{adjustwidth}{

indryk venstre }{ indryk hjre }

adjustwidth

tekst
\end{adjustwidth}

hvis det er en lngere tekst. Med dette environment gr man tekstbredden lokalt smallere, hvilket ser pnt ud p en dedikationsside. Dedikationssiden i denne bog er lavet med noget som ligner
\vspace*{\stretch{3}} \begin{adjustwidth}{9em}{9em} \centering \large \itshape til de danske \LaTeX-brugere med hbet om at

Eksempel 13.21

dette vil hjlpe p vejen mod pnere dokumenter \end{adjustwidth} \vspace*{\stretch{11}}

Resum p ere sprog

Vi har allerede nvnt at man kan indlse babel med ere sprog. S for at lave et resum p engelsk og et p dansk p samme side, er det bare at anvende:

babel

18 FiXme Note: skal nok placeres et andet sted

321
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

Eksempel 13.22

\begin{otherlanguage}{english} \begin{abstract} blah blah blah (in english) \end{abstract} \end{otherlanguage} \begin{abstract} bla bla (p dansk) \end{abstract}

\selectlanguage

otherlanguage

Konstruktionen kan ogs laves med to \selectlanguage{ sprog }. Brugen af otherlanguage giver en n overskuelig opdeling af kildekoden.
13.3.8 Mainmatter

\mainmatter

Dette aktiveres p samme mde som ved \frontmatter via \mainmatter som s srger for at: (a) Skifter til en ny hjre side. (b) Genstarte sidenummereringen fra 1, nu med almindelige tal. (c) Srger for at gur- og tabeltllerne nu igen er underlagt chapter-tlleren. Se ogs Eksempel 13.23 og 13.24 samt den tilhrende tekst. Nogle ender deres opgave med et kapitel som tjener som konklusion. Til tider nsker man ikke at dette kapitel bliver nummereret, men man vil naturligvis gerne have den med i indholdsfortegnelsen. Dette kan man gre p to mder:

Eksempel 13.23

\setsecnumdepth{part} % en over chapter \chapter{Konklusion}

eller
Eksempel 13.24
\chapter*{Konklusion} % ingen indgang i ToC \addtcontentsline{toc}{chapter}{Konklusion}

S m man selve vlge. Anvender man eksempel 13.23, s slr man helt afsnitsnummeringen fra. Men s kan man jo bare sl den til igen senere, via
Eksempel 13.25
\setsecnumdepth{subsection}

13.3.9

Backmatter

\appendixpage

\appendixpagename \appendixtocname

Memoir har godt nok en \backmatter-makro, men vi anvender den ikke, idet, den slr afsnitsnummereringen fra, hvilket, for de este, ikke er det de er ude efter. Har man bilag eller appendices s kan man sige at backmatter starter ved \appendix. Bemrk ivrigt at memoir inkluderer en \appendixpage-makro som vil lave en speciel side som illustrerer at nu starter appendices/bilag. Den vil desuden lave en indgang i indholdsfortegnelsen. Hvis man er utilfreds med de navne memoir anvender til henholdsvis den part-lignende side samt til indgangen i TOC, s skal man ndre makroerne \appendixpagename og \appendixtocname. Man kan nt gre det p samme mde som vi tidligere gjorde med \contentsname.
13.3.10 Eksempell for specialeopstning med memoir

Store skabeloner hrer ikke til p dette sted i manualen, dette skal i stedet tilfjes til kapitel F
322
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

Omjustering af layoutet i forbindelse med andre typer strre opgaver

13.4

Omjustering af layoutet i forbindelse med andre typer strre opgaver


Et par ideer vedr. ph.d.-afhandlinger

13.4.1

En ph.d.-afhandling skal behandles som et speciale, mske endnu mere som en bog (afhngigt af lngden af dokumentet). I hvert fald hos naturvidenskab, er ph.d.afhandlingen enten udformet som et speciale p steorider eller den er opbygget af en opsamling samt en inklusion af en serie artikler man har skrevet (og forhbentlig fet udgivet). Vi vil i resten af dette afsnit kigge nrmere p hvordan man hndterer ph.d.afhandlinger bestende af artikler. Vi har to umiddelbare muligheder: Enten inkluderer vi det hele i det samme dokument (sammenetter preambles etc.), eller ogs forbereder man artiklerne hver for sig og inkluderer dem s p passende vis (som PDF ler). Hver fremgangsmde har sine fordele og ulemper. Har man det hele i samme dokument, s kan man f.eks. nemt f en n indholdsfortegnelsen for det hele. Men det er bvlet evt. at skulle skriver artiklerne om fordi de var skrevet med andre klasser. Desuden kan det vre lidt besvrligt at f litteraturlisten til at fungere. I den anden lejr har man ikke brug for at tilpasse artiklerne ret meget, men det kan vre besvrligt at f konsistente sidetal, eller f overskrifterne automatisk med i indholdsfortegnelsen.
Afhandling: Artikler samlet i samme dokument

I teorien er dette den nemmeste lsning, man tager kildekoden til hver artikel og inkluderer dette som hver sit kapitel.19 Men hver artikel har jo sin egen litteraturliste, hvilket de naturligvis ogs skal have i afhandlingen. Dette lses ret nemt via pakken chapterbib under forudstning af at man anvender BibTEX. Det er et krav at man inkluderer sine artikler via \include{ lnavn } sledes at hver artikel fr sin egen .aux-l. Man skal s placere
\bibliographystyle{ \bibliography{

chapterbib

bibstil } bibl }

i hver af artikellerne. Der er nu bibliograske data i artiklernes .aux-ler, s man skal huske at kre bibtex p hver af dem. Det nste problem bliver at den genererede litteraturliste, normalt fr samme status som et kapitel. Hvilket er skidt nr artiklen selv er et kapitel. Pakken chapterbib kan selv kse det via optionen [sectionbib], men dette vil nummerere litteraturlisten, hvilket ikke falder i alles smag. Anvender man memoir kan man benyttes sig af flgende kode:
\newcommand{\MemSecBib}{% \section*{\bibname}% \bibmark \ifnobibintoc\else \phantomsection \addcontentsline{toc}{section}{\bibname}% \fi \prebibhook} \renewcommand\bibsection{\MemSecBib}

Kodetip 13.1

19 De este artikler er jo skrevet med article klassen, s det skulle vre lige til.

323
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

Hvis man desuden anvender pakken natbib (det gr de este), s skal omdenitionen af \bibsection placeres efter \begin{document}, ellers sker der ikke noget.
Sidebemrkning 13.15.

Afhandling: Artikler inkluderet som PDF

pdfpages

Her antager vi at man arbejder med et moderdokument, som kan oversttes med pdflatex20 samt at man har kildekoden til hver artikel tilgngelig. Ideen er nu at bruge pakken pdfpages til at inkludere de enkelte artikler. Vi kan s, i moderdokumentet, udstyre hver artikel med en form for forside, som nemt kan inkluderes i indholdsfortegnelsen. Det vil vre en fordel hvis man laver en smule om p artiklerne: (i) Fjern sidehoved og -fod. Dem stter vi ind fra moderdokumentet og fr dermed en bedre kontinuitet. Nemmeste mde at slippe af med sidehoved og -fod er

Eksempel 13.26

\pagestyle{empty}

(ii) Den anden ting er at srge for at artiklen anvender den samme fontstrrelse (og evt. font) som moderdokumentet, dette er nemt nok, ellers se andetsteds i denne bog. (iii) Srg for at artiklen er sat op til at vre i twoside-mode, sledes at marginerne skifter korrekt. (iv) Srg for at artiklen anvender de samme marginer som moderdokumentet. Her kan det hjlpe en del at bruge pakken geometry i artiklen. Nr man har anvendt \checkandfixthelayout i memoir , s skriver den layoutet til .log-len.
Tip 13.16.

pdfpages
\includepdf

\addcontentsline

Det nemmeste er naturligvis at kunne inkludere selve koden til artiklen som et kapitel i afhandlingen. Til tider er dette enten ikke muligt, eller man nsker bare at inkludere artiklen direkte uden at den bliver en direkte del af det nuvrende dokument. Har man lst afsnit 6.1.4 s kender man ogs den nemmeste lsning p problemet: pdfpages og dens makro \includepdf. S det simpleste er at konvertere artiklerne til PDF og s inkludere disse i sit dokument. Det kan s vre en god ide at man i sit hoveddokument lige srger for at skrive en forside til hver artikel, disse kan s desuden blive anvendt til at indstte artikelens titel i indholdsfortegnelsen, f.eks. via \addcontentsline.
21

Inklusion af PDF med en master som ikke tler pdatex

Skulle man vre s uheldig at man ikke kan kompilere sit hoveddokument med pdflatex som jo er pkrvet af pdfpages s skal man vre en smule mere kreativ. Men da det er sjldent i dag at nde dokumenter som ikke kan oversttes med pdflatex s er det ikke noget vi nsker at g i detaljer med. Har man brug for hjlp til dette er man velkommen til at sende en mail.
20 For moderdokumenter som ikke kan, se nste afsnit. 21 FiXme Ddelige: tilfj mere her, bla. med forsider, samt addtotoc, samt den ikke nummererede opgave

324
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

Pagestyle til artikler i afhandling

Pagestyle til artikler i afhandling

Vi kunne godt tnke os at vi som sidehoved til hver artikel har forfatternes navne p venstresider og titlen p hjre. S kan lseren se hvilken artikel han/hun er i netop nu. Da vi er dovne gider vi ikke lave en ny pagestyle til hver artikel, eller lave en som vi skal lave om p hele tiden. Vi bruger i stedet flgende. Som illustration vlger vi at centrere navn, titel og sidetallet, tilpas det selv efter egne nsker.
\makepagestyle{myarticle} \makeevenhead{myarticle}{}{\leftmark}{} \makeoddhead{myarticle}{}{\rightmark}{} \makeevenfoot{myarticle}{}{\thepage}{} \makeoddfoot{myarticle}{}{\thepage}{} % dette er den smarte del, vi vil ikke % have a sections etc. forstyrrer headeren \makepsmarks{myarticle}{ \clearmark{chapter} \clearmark{section} \clearmark{subsection} \clearmark{subsubsection} \clearplainmark{toc} \clearplainmark{lot} \clearplainmark{lof} %... }

Kodetip 13.2

Nr man s starter med sine artikler smider man frst:


\pagestyle{myarticle} \aliaspagestyle{chapter}{myarticle}

Eksempel 13.27

(alias delen behver man ikke hvis man inkluderer PDF-ler). Efterfulgt af flgende fr hver artikel:
\chapter{Blah blah} \markboth{Navn}{Artikeltitel}

Eksempel 13.28

Helt konkret kan ndringen af pagestylen for kapitler egentlig vre lige meget det kommer meget an p hvad man nsker at bruge starten af kapitlet til. Det kunne jo vre at man gerne ville skrive en eller anden introduktion inden man kom med selve indholdet af artiklen. Hvis man gerne vil have artiklen til at starte p nste hjreside, s kan man med fordel smide en \cleartorecto fr artiklen.
Tip 13.17.
22

13.4.2

Tanker omkring opstning af bachelorprojekter

Specialer og ph.d.-afhandlinger forventes at fylde ca. 40+ sider hvormed man sagtens kan betragte dem som vrende en bog. Ved bachelorprojekter for holder det sig lidt anderledes. De este projekter er sikkert omkring 2030 sider, hvilket ikke ser ud af meget hvis man trykker det dobbeltsidet. Man vil derfor nt kunne komme med flgende anbefalinger vedrrende opstningen af et bachelorprojekt med memoir . (i) Anvend oneside klasseoption og tryk projektet enkeltsidet. S ser det ud af lidt
22 FiXme Note: ovenstende skal testes

oneside

325
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

headings

section
Eksempel 13.29

mere. (ii) Husk at nr man anvender enkeltsidet layout s vil kun headere og footere for oddpage blive anvendt. De tilsvarende for even sider anvendes kun ved twoside. Dette skal man alts overveje ved sin opstningen af headere og footere. Bemrk dog at bde \leftmark og \rightmark begge er til rdighed. Den generelle pagestyle opstning vi tidligere har omtalt, hvor vi udvidede headings kan sagtens anvendes her, ogs selv om teksten faktisk siger at det er til et tosidet layout. (iii) Undlad at skrive navn og titel i sidehovedet af rapporten. Med mindre man direkte bliver bedt om det er den slags redundant information. (iv) Til en bachelorrapport er der mange som synes det er lidt overkill at kalde kapitlerne for Kapitel. Man nsker ofte noget mere afdmpet til frste side i hvert kapitel. Dette man man med chapterstylen section
\chapterstyle{section}

S bliver overskriften ved \chapter bygget op via kapitelnummer titel . Men husk at dette betyder stadigvk at man opdeler sin tekst med \chapter som det verste niveau. (v) nsker man fortlbende gur og tabel nummerering, s skal man bare anvende
\counterwithout{figure}{chapter} \counterwithout{table}{chapter}

Eksempel 13.30

i preamble. Grunden til at vi ikke umiddelbart anbefaler at man bare skriver sit bachelorprojekt i article-klassen er naturligvis at memoir -klassen gr det meget nemmere efterflgende at justere layoutet, srger for at f de rigtige ting med i indholdsfortegnelsen, nemt at justere hvad der skal med i sidehoved og -fod. Det er simpelthen en god investering at lre om memoir s tidligt s muligt.
13.4.3
23 A motivation: ig. studieportalen er der faktisk en del brugere af L TEX i gymnasiet. Umiddelbart ville en opstning sammenlignelig med bachelor vre brugbar plus dobbelt linieafstand. Man br nok tjekke om der er nogle regler for dette. A Vi kan se at der er stadig ere i gymnasiet som anvender L TEX, det er jo rart at se. S vidt vides anvender man stadigvk dobbelt linieafstand til opgaverne i gymnasiet. S her skal man bare tage opstningen til bachelorprojekter og s tilfje n af flgende i preamble:

Strre opgaver i gymnasiet

\OnehalfSpacing \DoubleSpacing \SingleSpacing

Man anvender \OnehalfSpacing til at f det som dobbelt linieafstand burde svare til, det er det man normalt bruger. Har man en infantil lrer kan man anvende gte dobbelt linieafstand (\DoubleSpacing), men det er grimt! Den sidste makro kan anvendes til at f den normale linieafstand tilbage igen.
23 FiXme Ddelige: skal skrives

326
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

Tanker vedr. artikler til tidsskrifter

Det er som tidligere nvnt en meget drlig ide at pille med \linespred for at opn dobbelt linieafstand, denne piller ved noget som anvendes rigtigt mange steder hvorved man fr alt for stor afstand p steder hvor man bestemt ikke ville have det. \OnehalfSpacing gr et noget bedre job.
Sidebemrkning 13.18.
A A Husk at L TEXs gode evner til at behandle tekst, gr L TEX ideel til brug ved dansk stil (hvis det da stadigvk hedder det i dag). Her anvender man dog normalt ikke afsnitsnummerering, s den slr man bare fra via
\setsecnumdepth{part} \maxsecnumdepth{part} \settocdepth{subsection}

Eksempel 13.31

i preamble. S har man simple overskrifter som nt kan komme med i indholdsfortegA nelsen. Fordelen ved at anvende L TEX til en dansk stil er naturligvis at man s bruger mere tid p at koncentrere sig om teksten i stedet for at sidde og pille ved layoutet.
13.4.4 Tanker vedr. artikler til tidsskrifter

Med mindre man selv skal lave hele designet, br man ikke anvende memoir til videnskabelige artikler. I stedet br man24 (1) Hvis du allerede ved hvilken journal du vil indsende til s nd ud af om denne A journal understtter L TEX, og om de i s fald har en opstning man skal anvende. Flg s denne opstning til punkt og prikke. Hvis deres skabelon nvner environmentet eqnarray, s brug environments fra amsmath i stedet. (2) Har journalen ikke nogen anbefalinger, eller ved du ikke hvilken journal du gerne vil sende til, er anbefalingen: 2a. 2b. 2c. 2d. Brug article-klassen. Pil ikke ved marginerne. Lad den vre i 10pt font strrelse. Brug (mindst) pakkerne amsmath, amssymb og amsthm. De kan evt. krydres med pakkerne bm og mathtools 2e. Brug kun pakker som er tilgngelige p CTAN. Anvender du hjemmelavede pakker, skal du huske at vedlgge dem nr du sender artiklen ind. A 2f. Journaler er ikke altid lige glade for folk som redenerer ting i L TEX, s man br undg brugen af \renewcommand eller \def. Generelt br man kun tage de ting med i artiklen som man faktisk anvender. Dokumenter dine 2g. Husk nr du er frdig s br artiklen passe inden for de marginer som article-klassen anvender pr. default.
Andre tricks man kan lave med memoir-klassen

13.5

Memoir-klassen har diverse sm features som man kun kender hvis man har lst Wilson (2010) og Wilson (2007a). Her vil vi lige nvne nogle stykker som mske kunne gre nytte for nogen.
24 Speciel tak til Barbara Beeton, AMS, for forslag til listen.

327
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

Automatisk fjernelse af sidetal

Vi har allerede nvnt at har man et dokument som kun fylder en side og man har anvendt \maketitle, s skal man selv srge for at anvende
Eksempel 13.32
\maketitle \thispagestyle{empty}

for at fjerne sidetallet. Har man anvendt memoir -klassen, s kan flgende trick hjlpe. Man skal bare srge for at placere flgende i sin preamble (krver mindst to oversttelser):
Kodetip 13.3
\AtEndDocument{ \ifnum\value{lastsheet}=1 \thispagestyle{empty} \fi }

Tlleren lastsheet anvendes i memoir til at kunne give det samlede antal ark i dokumentet.
Sidetal af formen side / total

Skulle man have brug for at kunne henvise til den sidste side s kan man henvise til tlleren lastpage, f.eks. med \value{lastpage}. Bemrk at dette tal henviser dokumentets sidste vrdi af sidetlleren. Dette er ikke altid det samme som antallet af ark i dokumentet, denne kan man f via lastsheet tlleren. S for at lse ovennvnte problem skal man bare tilfje flgende til sin pagestyle
Eksempel 13.33
\thepage / \value{lastpage}

Man skal dog vre opmrksom p dette ikke altid er videre pnt, f.eks. er det grimt i et dokument hvor man ogs har frontmatter, men s kan man jo lave ndringen efter \mainmatter.
F ordet Kapitel eller Appendix med i indholdsfortegnelsen

Det er ret nemt, se Wilson (2007a), afsnit 4.2.


Eksempel 13.34
\renewcommand\cftchaptername{\chaptername~} \renewcommand\cftappendixname{\appendixname~}

Tilsvarende er der \cfttablename og \cftfigurename til brug i gur/tabelliste.


Fjerne afstand i gur/tabelliste

\insertchapterspace

Hvis man ikke lige har opdaget det s vil man i f.eks. gurlisten kunne se nr et nyt kapitel starter. Dette ses ved at der bliver indsat lidt luft i listen. Dette kan man naturligvis ogs rette ved. Denne luft indsttes via makroen \insertchapterspace, som i memoir er deneret ved
\newcommand{\insertchapterspace}{% \addtocontents{lof}{\protect\addvspace{10pt}}% \addtocontents{lot}{\protect\addvspace{10pt}}% }

Eksempel 13.35

S kan man jo lave om p det som man vil. Vi har i denne bog omdeneret makroen til slet ikke at gre noget, da det er meget forskelligt hvor mange gurer de enkelte kapitler indeholder.
328
Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

Appendix OG bilag
Appendix OG bilag

Flere studerende har efterspurgt hvordan man kan f bde appendix samt bilag i samme dokument. Argumentet er at materialet i appendix er noget man kan nde andre steder, mens bilag f.eks. kan vre programkode, eller data. Nuvel, dette kan man naturligvis ogs dressere memoir til at gre. Vi vil antage at man desuden nsker at f tilfjet Kapitel, Appendix og Bilag foran overskrifterne i indholdsfortegnelsen, samt at appendix nummereres med store bogstaver, mens bilag nummereres med store romertal. Konstruktionen gr nogenlunde sledes:
% i preamble \usepackage[danish]{babel} \renewcommand\cftchaptername \renewcommand\cftappendixname \renewcommand\appendixtocname \addto\captionsdanish{ \renewcommand\appendixname } % slut preamble % start appendix \appendix \appendixpage \include{appendix1} ... % slut appendix % start bilag \renewcommand\appendixtocname {Bilag} \renewcommand\appendixpagename{Bilag} \addtocontents{toc}{\protect\renewcommand\protect\cftappendixname{Bilag~}} \renewcommand\appendixname \appendix \renewcommand\thechapter{\Roman{chapter}} % bilag med store romertal \appendixpage \include{bilag1} ... % slut bilag {Bilag} {Appendiks} {\chaptername~} {\appendixname~} {Appendiks}

Eksempel 13.36

\renewcommand\appendixpagename {Appendiks}

Preamble-delen er ganske almindelig, desuden har vi pillet ved appendixforsiden sledes at den skriver Appendiks i stedet for Appendices (samme rettelse for teksten den skriver i indholdsfortegnelsen). I bilagsdelen laver vi samme smre, dog bliver vi ndt til at lave ndringen af \cftappendixname direkte inden i indholdsfortegnelsen, idet vrdien skal ndres midt i selve indholdsfortegnelsen. Da \appendix laver om p mden hvorp kapiteltlleren ser ud, skal ndringen af \thechapter naturligvis ske efter \appendix. Konstruktionen i Eksempel 13.36 fungerer ikke ordentligt sammen med hyperref i forbindelse med bookmarks og indholdsfortegnelsen. Den interne markr som hyperref anvender til appendikser skal vre unik, og det bliver den ikke i den konstruktion vi prsenterede i Eksempel 13.36. Lsningen er at lave nogle sm tilfjelser:
Sidebemrkning 13.19.

Fortsttes p nste side 329


Kapitlet er sidst opdateret 2010/08/23 13:07 (revision 713)

13. Dokumentopstning med memoir-klassen

Eksempel 13.37

\makeatletter \def\Hy@appendixstring{bilag} \makeatother

fr bilagene (i.e. fr frste \appendix) og fr den anden \appendix placeres


Eksempel 13.38
\makeatletter \def\Hy@appendixstring{appendix} \makeatother

s peger indholdsfortegnelsen og bookmarks igen de rigtige steder hen.

Referere til en overskrift

Hvis man som i denne bog vlger ikke at nummerere eksempel vis \subsubsection, s er det lidt besvrligt at referere til netop disse afsnit. Dette kan man i memoir lse via
\titleref

\titleref{

label key }

Dette vil s give overskriften af det afsnit som lablen hrer til. Eksempel
Eksempel 13.39
Navnet p det nuvrende afsnit er >>\titleref{sec:referere-til-en}<<.

Navnet p det nuvrende afsnit er 13.5.

Den kan anvendes til alle labels, dog er det nok kun de som henviser til en overskrift som faktisk vil give mening.
Markere noget nyt via en blank linie

Vi anbefaler meget kraftigt at man ikke markerer nyt afsnit via en blank linie i outputtet.25 Men der kan nemt vre situationer hvor det er p sin plads at man markerer starten p noget nyt via en blank linie. I memoir kan dette gres f.eks. via
\fancybreak

\fancybreak{

fyld }

fyld kan man lade vre tom. I denne bog anvendes en varation af flgende makro:
Eksempel 13.40
\newcommand\starbreak{\fancybreak{% \starredbullet\qquad\starredbullet\qquad\starredbullet}}

Hvor den her anvendte makro \starredbullet stammer fra fourier-pakken. Man kan ogs sagtens anvende f.eks. $*$ eller forskellige tekst symboler. Linien efter \fancybreak bliver ikke indenteret, helt i trd med at frste linie efter en \section heller ikke bliver det. Mangler man andre sjove tricks i memoir , kan man bare sprge. Memoir kan mange ting, langt ere end vi kan n og nvne her. Og hvis det ikke (endnun) kan s kan vi sikkert f den til det.

25 Dette er noget jeg jeblikligt betyder at rette nr studerende kommer og skal have hjlp. S lad vre med

at bruge det og lad vre med at spilde min tid.

330

Fjortende Kapitel

Gode rd
14.1 Ddssynder

A Flgende er en liste over nogle af de ddssynder man br undg i sine L TEX-projekter. (Ikke prioriteret)

(1) Fjernelse af afsnitsindenteringen. Der er en grund til at dette er standarden i TEX, s lad den vre. Det samme glder forget afstand mellem afsnit. Det gr ikke andet end kunstigt at gre teksten lngere. Anvend i stedet afsnitsindentering til at markere nyt afsnit. Se evt. afsnit E.1. (2) Enhver brug af \\ i selve teksten. Anvend et nyt afsnit i stedet, eller skriv teksten om. \\ er OK at anvende inden i argumenter til andre makroer, eller indenfor almindelige environments. (3) Brugen af environmentet eqnarray, se Madsen (2006). Konstruktionen giver inkonsistent matematisk typogra. (4) Floats uden ordentlig angivelse af positionering. Enten srg for at stte standardlisten til htbp eller angiv selv [htbp] eller [htb]. Ellers risikerer man nemt at guren yder alt for langt vk. Standarden indeholder ikke h, s derfor skal man enten selv indstte det, eller ndre p standarden. Bemrk [h] eller [!h] gr ikke det du tror. Hvis man synes det er sjovt hele tide at anvende H, s burde man nok overveje at blive i Word, lr i stedet de korrekte oatplacements. (5) Betitlede krydsreferencer uden tie. Srg altid for at alle krydsreferencer med titel er limet sammen med ordet som kommer fr.
Stning~\ref{thm:1}

Andre steder hvor ties er en god ide er:


formlerne~\eqref{eq:1} og~\eqref{eq:4}.

S slipper man for problemer med linieombrydning lige fr en reference. Specielt relevant, hvis man fr brug for at ndre p dokumentets dimensioner. (6) Enhver brug af $$...$$-konstruktionen (eneste undtagelse er hvis man gr brug af nath-pakken). Konstruktionen er ikke kompatibel med eqn-klasseoptionen samt \qedhere fra amsthm-pakken. Desuden gr brugen af environments kildekoden meget nemmere at overskue, isr hvis man altid srger for at skrive \begin of \end delene p linier for sig selv. Man kan evt. kigge p onlyamsmath-pakken, som kan anvendes til at tvinge et dokument til at anvende AMS-konstruktioner. (7) Hjemmelavede overskrifter, alts noget lignende:
\noindent\textbf{bla bla}

Eksempel 14.1

Brug sektions makroerne det er det de er der for, hvis man ikke nsker noget nummer s anvend den stjernede-udgave, eller kongurr dokumentet til ikke at anvende nummerering.
331
Kapitlet er sidst opdateret 2010/08/23 13:13 (revision 714)

14. Gode rd

(8) Blanke linier fr fremhvede formler. Disse kan ofte ses i outputtet, nsker man noget luft i kildekoden, s start de blanke linier med et %.

14.2

Vrd at huske mens man skriver

(a) Lav genveje (makroer) til de konstruktioner og mngder du ofte anvender og anvend konsekvent denne genvej. Dette gr det nemmere at ndre navnet p en mngde uden at skulle lave sg og erstat. Vlg navne som giver mening i sig selv, uden man har lst denitionen. (b) Hvis mens man skriver opdager tekstlinier som bliver for lange (gr ud i marginen), kan ogs vre inline matematik, s lad vre med at rette dem her og nu. Chancen er at du alligevel senere kommer til at rette noget af teksten (eller marginerne), hvilket betyder at dine rettelser kan vre nyttelse. Brug hellere tiden til at skrive din tekst. Vent med at rette disse til du er frdig med at skrive dit dokument og har fastlagt dine marginer/bredden og hjden p tekstblokken. Fremhvet matematik kan man godt rette lidt p undervejs. (c) Husk brugen af tegnet ~ (tilde), se afsnittet 2.2, p side 26. (d) Hvis du skriver p dansk og skriver mange sammensatte ord, s vn dig til at skrive disse som ord"-ord i stedet for ord-ord, dette vil hjlpe p orddelingen. (e) Der m gerne vre blanke linier fr og efter \chapter, \section, etc., det sker der ikke noget ved, ved at indfre disse blanke linier omkring disse overskrifter bliver det nemmere at navigere rundt i kildekoden. (f) Der m aldrig vre blanke linier i kildekoden fr fremhvede formler, dette vil man kunne se i outputtet. Det er isr en dum ide i forbindelse med equationenvironmentet, da denne har specielle features som afhnger af lngden p linien lige fr formlen. (g) Med mindre indholdet af et environment er meget kort br man altid skrive \begin og \end p linier for sig selv, sledes at de er det eneste som optrder p disse linier. Dette gr koden mere overskuelig og langt nemmere at editere for dig selv eller andre. (h) Nr man i tabeller eller f.eks. i en align anvender \\ til at skifte rkke, s er det en god ide at skrive \\ p en linie for sig selv, igen gr dette koden nemmere at overskue, isr ved meget komplicerede matematiske konstruktioner eller store tabeller. (i) Brug \left. . . \right med omtanke, i mange tilflde er det bedre et skalere hegn manuelt. Brug aldrig i den almindelige tekst, \left. . . \right kommer nemt til at forstyrre linieafstanden. Skalerede hegn br i den almindelige tekst ikke vre strre end de man fr via \bigl. . . \bigr. Det kan anbefales at anvende \DeclarePairedDelimiter fra mathtools pakken til at kan konstruktioner s som \abs eller \norm.

14.3

Vrd at huske nr man er ved at vre frdig med at skrive

(i) Bestem dig for hvilken teksthjde og -bredde du nsker eller hvilke marginer. Hver gang du ndrer disse fr du nye side- og linieombrydninger, s det er vigtigt
332
Kapitlet er sidst opdateret 2010/08/23 13:13 (revision 714)

Vrd at huske nr man er ved at vre frdig med at skrive

at bestemme sig for disse fr man gr videre med det afsluttende tjek, ellers skal man begynde forfra med de tjek som er beskrevet herunder.1 (ii) Start med at rette overydende linier. Anvend evt. klasseoption draft (kan erstattes med \setlength{\overfullrule}{10pt} i preamble, thi draft-klasseoption, kan f.eks. f ting inkluderet via listings til at forsvinde midlertidigt), st desuden \hfuzz=4pt. (iii) Ved for lang matematisk tekst huskes
A L TEX skal gives lov til at dele ved komma, skriv evt. $1,\dots,n$ som $1$,\dots,$n$ eller som $1,\allowbreak\dots,\allowbreak n$. A I teksten er det tilladt at bryde linien fr en relation, L TEX vil kun automatisk dele efter, s her kan \allowbreak igen anvendes.

Ofte er det bedst at skrive noget af teksten om, eller omformulere den lidt. I desperate situationer kan man fremtvinge en pn linieombrydning via \linebreak.2 Den vil strkke linien s vi fortsat har lige hjremargin, den giver dog ikke sikkerhed for pne lsninger. (iv) Hvis der er sider som er forstrukket lidt rigeligt, pga. en stor udregning som ikke kan vre p siden, s kan det vre en ide at indstte sm kommentarer via \intertext (eller \shortintertext). Man kan vlge at dele en lang udregning over to sider, men det br kun foreg hvis: (1) Man arbejder med et tosidet dokument, og (2) kun hvis sideskiftet kommer til at g fra en venstre til en hjre side. Det er besvrligt for lseren hvis han/hun skal bladre i dokumentet for at nde resten af udregningen. (v) Start nu igen helt forfra i dokumentet, og hold nu je med venstre- og hjremargin I venstre side holdes je med udtryk hvor det ville have vret smartere hvis man havde anvendt ~ til at binde f.eks. to ord sammen s de bliver p samme linie, eller i det mindste ikke deler linien mellem dem. Dette glder desuden tal og korte matematiske udtryk. Vr desuden p vagt over for dette i slutningen af afsnit. Hjre side tjekkes efter drlige orddelinger samt uhensigsmssige ombrydninger af matematik (e.g. n = nste linie 1). Tjek desuden fr og efter sideskift. Man skal vre p udkig efter de skaldte horeunger og enker. En horeunge er nr man lige nr at have frste linie fra et afsnit med lige fr en side ombrydning (huskereglen er at den ikke har nogen fortid). En enke er nr den sidste linie af et afsnit er det frste p en side. Her kan man enten anvende \newpage (eller \pagebreak) til horeungerne, eller \enlargethispage{ lngde } fr afsnittet, hvis det er en enke. Der er desuden to skaldte penalties som styrer muligheden for horeunger og enker. De er \clubpenalty og \widowpenalty og behandles ikke nrmere her.
horeunger enker
\linebreak

\enlargethispage

1 Har man valgt at angive tekstbredden og -hjden direkte i stedet for via angivelse af marginerne, s vil

replacering af tekstblokken ikke ndre p linieombrydningerne.


2 FiXme Note: det vil sikkert ogs vre en ide at nvne \sloppy

333
Kapitlet er sidst opdateret 2010/08/23 13:13 (revision 714)

14. Gode rd

14.4

Efter studierne er slut

curve

Nr man har afsluttet sine studier har man jo oftest brug for at skrive et cv. Godt nok accepterer mange jobbureauer kun Word-ler, men det skal da ikke afholde os fra at A lave et cv med L TEX. Den mest anvendte mde er at anvende pakken curve.3
4

3 FiXme Ddelige: eller er dette en klasse? 4 FiXme Note: dette br yttes til diverse kapitlet

334

Appendices

Appendix A

Om generering af nye makroer


Nr man skriver strre projekter vil man hurtigt opdage vigtigheden af at kunne lave forkortelser til ofte anvendte konstruktioner eller lave sine helt egne specielle makroer. A Dette kapitel tjener som en mindre introduktion til det at lave makroer i L TEX. Den er p ingen mde fyldestgrende, da man kunne skrive hele bger om dette emne.
A.1 At lave sin egen makro

Til at lave en ny makro er den grundlggende makro \newcommand med syntaksen1


\newcommand{\

makronavn }[ num arg ]{ kode }

\newcommand

Makronavnet m kun best af bogstaver.2 Her er store og sm bogstaver forskellige, s \Hest og \hest er to forskellige makroer. Hvis makroen ikke skal have nogen argumenter anvender man enten [0] eller helt udelader [ num arg ]. Koden som makroen skal udfre kan stort set vre hvad som helst, dog undtagen visse verbatim3 konstruktioner, s som \verb. Man vil i koden til mange pakker og klasser se makroen \def blive anvendt. Hvis man nsker at anvende \def skal man vide prcist hvad man gr, idet \def overskriver allerede eksisterende makroer uden advarsel. Syntaksen vedrrende \def og venner er ikke noget vi kommer nrmere ind p, den interesserede lser kan tage et kig p Knuth (1986) eller Eijkhout (2001). Vi har dog et eksempel i afsnit E.4.
Sidebemrkning A.1.
\def

Navne p makroer

De este af de kommandoer man selv kommer til at lave vil tjene som et fast navn for et eller andet, f.eks. et symbol. I den forbindelse er det en god ide at komme p et sigende navn til makroen, et navn som kan lede en p sporet af hvad denne makro har med at gre. Vi har allerede set eksempler p dette med f.eks. \setR fra afsnit 3.2.5. Det anbefales at man undlader at lave makronavne som er meget korte og uforstelige for andre end en selv. Det kan godt vre man synes det er trls at skulle huske p lngere navne eller trls at skulle skrive dem, i s fald er rdet at man nder sig en bedre editor, eller lrer at snyde sin editor. Mange editorer i dag tilbyder valgmuligheder nr man bare kan huske den frste del af et makronavn. Fordelen ved en konsistent gennemskuelig makronavngivning kommer naturligt nok bedst til udtryk i samarbejdet med andre. Her skal man jo sammenette ere
1 Der ndes ogs en et version af \newcommand, men den skal vi ikke komme nrmere ind p her, der er

ikke den store forskel.

2 Og under specielle omstndigheder, @, se senere. 3 Dvs. ordret fremvisning uden L T X-fortolkning. A

337
Kapitlet er sidst opdateret 2010/07/11 18:41 (revision 701)

A. Om generering af nye makroer

personers unikke mder at skrive p. Det er langt nemmere at enes som brugen af konsistente letforstelige makronavne end det er uvejsomme korte navne (hvor man mske ikke er enige om hvad en specik makro skal gre). Jeg har ere gange tilrettet preprints hvor den ene forfatter tydeligvis vidste hvad han/hun gjorde og srgede for at skrive p en pn og let tilgngelig mde, hvorimod den anden forfatter skrev mngdenavne ud hver gang, lavede aldrig forkortelser, og ofte de endda ikke altid var enige om den anvendte syntaks i artiklen. Et godt eksempel p dette kan vi lave med lidt statistik:
Eksempel A.1
\newcommand{\DistEq}{\stackrel{\smash{\mathcal{D}}}{=}} \[ \DistEq \]

som er lighed i distribution (D-et er naturligvis anderledes alt efter den font man gr brug af).4 Andre eksempler vi allerede har set er \ArrowBetweenLines, \MoveEqLeft, \DeclarePairedDelimiter, empheq (fremhv formel). Efter sigende skulle pakken cool kunne hjlpe med at kunne lave konsistente nemtforstelige makronavne. Men med lidt disciplin kan man sagtens selv lave dem. Det er ogs en gode ide at skrive en lille kommentar over hver denition, s andre senere fr en ide om hvad man har gang i.5
Makroer uden argumenter

Langt de este af de makroer man selv kommer til at lave bliver nogle som ikke tager i mod argumenter. I Eksempel A.1 ser vi et eksempel p dette. Man skriver alts bare sin erstatningstekst i det andet obligatoriske argument, og denne vil s kunne tilgs via det navn man har givet makroen. Hvis vi leger videre med statistik eksemplerne, s anvender man tit til at indikere hvordan en stokastisk variabel er fordelt, f.eks. X er standardnormalfordelt:
Eksempel A.2
$X\sim N(0,1)$

X N (0, 1)

Hvis man ikke kender udseendet af \sim, s er koden svr at forst. Men det hjlper hvis vi laver vores egen makro:
Eksempel A.3
\newcommand\DistAs{\sim} $X\DistAs N(0,1)$

X N (0, 1)

Dvs. med sm midler kan man gre sin kode meget mere lsbar for sig selv og andre. Ud over at \newcommand til at lave makroer (som ikke tager argumenter), s har vi jo ogs set eksempler p en konstruktrkommandoer til anvendes til at lave specielle makroer for os. Eksempelvis
\DeclareMathOperator

som giver operator makroer s som \log.

Man kan sagtens selv lave konstruktrmakroer, men s kommer der visse nere nesser6 i spil, som vi ikke har plads til at forklare her. Eksemplerne vi har lavet her har mest med matematik at gre, men man kan naturligvis ogs lave makroer som kan anvendes i teksten. Her skal vi dog huske dette
4 \smash anvendes for at \DistEq ikke forstyrrer linieafstanden nr den anvendes i den almindelige tekst. 5 Jeg har til tider set folk anvende skabeloner hvor kommentarene nste var direkte lgn! 6 S som #-duplering.

338
Kapitlet er sidst opdateret 2010/07/11 18:41 (revision 701)

Makroer med argumenter

med at anvender man makroer i teksten som ikke tager noget argument, s har de det med at spise mellemrum. Dette kan man dog ogs komme udenom, se afsnittet A.1 p side 341.
Makroer med argumenter

Med \newcommand kan man anvende op til 9 argumenter7 som i erstatningskoden kan tilgs via #1 til #9. Et meget hurtigt eksempel kunne vre
\newcommand\NiceRed[1]{\textcolor{nicered}{#1}} \NiceRed{Noget i farver}

Noget i farver

Eksempel A.4

hvor vi kan se at #1 anvendes til at henvise til den tekst man giver til makroen. Her er et lidt mere kompliceret eksempel med to obligatoriske argumenter. Bemrk at idet erstatningskoden kun kan anvendes indenfor matematik-mode, s kan \diff ogs kun anvendes i matematik.
\newcommand{\diff}[2]{\frac{\partial #1}{\partial #2}}

Eksempel A.5

hvor efter $\diff{f}{x}$ giver x . S kan man jo ogs lave en version med d i stedet for eller vi kan vre lidt smart. Vi kender jo syntaksen for kubikrdder $\sqrt[3]{2}$ ( 3 2) dvs. hvor man med et ekstra valgfrit argument kan angive graden. Hvordan laver man nu sdan noget? Et sdant ekstra valgfrit argument kan man ogs lave via \newcommand, dog kun med t argument og det er altid #1. Syntaksen er
\newcommand{

makronavn }[ num arg ][ std vrdi for #1 ]{ kode }

Hvilket betyder at hvis man ikke anvender noget valgfrit argument vlges std vrdi for #1 automatisk og nr man giver det valgfri argument anvendes det i stedet. S en generalisering af \diff har nu tre argumenter med koden
\newcommand{\diff}[3][\partial]{\frac{#1 #2}{#1 #3}} \[ \diff{f}{x}\diff[d]{x}{t} \qquad \diff{}{x} \int_0^x f(t)dt = f(x) \]

f dx x dt

x 0

f (t)dt = f (x)

Eksempel A.6

Et tredje eksempel der ogs er ret anvendeligt (bemrk det specielle kolon):8
\newcommand\morf[4][\to]{#2\colon#3#1#4} $\morf{f}{A}{B}$ eller $\morf[\hookrightarrow]{f}{A}{B}$

f : A B eller f : A B

Eksempel A.7

Hvordan man laver makroer som har en stjernet version (s som f.eks. \section) eller som har mere end et valgfrit argument (f.eks. \section indenfor memoir ), er ikke noget vi kommer nrmere ind p i denne bog.
7 Hvis man har brug for ere, br man overveje at benytte en ngleord

plementeres via pakken keyval eller lignende pakker.

vrdi syntaks i stedet, dette im-

8 Makroen skyldes Emil Hedevang Lohse.

339
Kapitlet er sidst opdateret 2010/07/11 18:41 (revision 701)

A. Om generering af nye makroer

Lave om p en allerede eksisterende makro

\renewcommand

Man vil nok have opdaget at \newcommand tjekker hvorvidt det makronavn man havde tnkt sig, allerede er i brug og den vil selvflgelig brokke sig hvis den er. Dette er naturligvis for at brugeren ikke uforvarende skal ndre en vigtig intern komponent. Hvis man alligevel gerne vil ndre en allerede eksisterende makro skal man anvende \renewcommand. Syntaksen er den samme som for \newcommand, men man gr her, via det lille re, opmrksom p at man godt er klar over at denne kommando ndes i forvejen og ja, man vil gerne ndre den. Man benytter \renewcommand nr man vil ndre ting, et eksempel er at der i visse fonte er to udgaver af det grske bogstav epsilon \epsilon ( ) og \varepsilon (). Hvis man bedst kan lide den sidste, kan man jo bare lave
\renewcommand{\epsilon}{\varepsilon}

Eksempel A.8

Andre ndringer kan vre mere alvorlige hvilket vi allerede har set eksempler p.9
Advarsel A.2. Man skal passe meget meget p nr man vlger at overskrive en eksisterende makro. Det er specielt vigtigt at man i forvejen ved prcist hvad originalmakroen gr og at man bestemt ikke fr brug for dette. Det grelle eksempel p dette er makroen \span. Det ville vre oplagt at anvende \span som navn for span-operatoren fra liner algebra. Men den er deneret i forvejen A og ingen normale L TEX-bger forklarer hvad \span anvendes til. Dette betyder ikke at man s bare skal overskrive den! Makroen \span er faktisk en meget vigtig intern komponent i TEX, som anvendes i tabeller og alignments, s den skal man bestemt ikke overskrive. Anvend i stedet \Span som makronavn for span-operatoren. Konklusionen er, at nsker man at anvende \renewcommand skal man have en god grund til det og have styr p hvilke konsekvenser det medfrer.

Lave en makro hvis den ikke ndes i forvejen

\providecommand

Betragt flgende situation: (a) Man er ved at lave sin egen makropakke for nemt at kunne genanvende sine makroer. (b) Man vil ofte (men ikke altid) anvende pakken sammen med en bestemt dokumentklasse. (c) Man anvender tit visse makroer fra denne specikke klasse og disse makroer ville man gerne ogs have til rdighed nr man anvender sin personlige pakke med andre klasser (eller hvis man havde anvendt denne specielle makro i nogle egendenerede makroer). Et sdan problem kan lses via en funktionalitet som denerer en makro hvis den ikke ndes i forvejen, og hvis den ndes, gr den ingenting. Denne makro hedder \providecommand og har ellers njagtigt den samme syntaks som \newcommand. Der ndes en tilsvarende makro til at lave environments med. Et eksempel p brugen kunne vre de to memoir -makroer \firmlist og \tightlist, disse kunne s inkluderes i ens egen pakke via
\providecommand{\firmlist}{% \setlength{\itemsep}{0.5\itemsep}\setlength{\parskip}{0.5\parskip}} \providecommand{\tightlist}{% \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}

Eksempel A.9

9 FiXme Ddelige: hvor?

340
Kapitlet er sidst opdateret 2010/07/11 18:41 (revision 701)

Lave om p en makro mens man genbruger den gamle denition

Lave om p en makro mens man genbruger den gamle denition

Nr man er ved at lave om p makroer, er det til tider en fordel at kunne gemme den nuvrende denition af makroen, lave om p originalen og s f.eks. indstte den A gamle denition igen. I L TEX opns dette via makroen \let.
\let\nytnavn=\gammeltnavn
\let

Et simpelt eksempel p anvendelsen er hvis man nsker at indbygge \FloatBarrier direkte ind i \section:
\let\oldsection=\section \renewcommand{\section}{\FloatBarrier\oldsection}

Eksempel A.10

Faktisk kan man slippe endnu nemmere om ved dette idet pakken placeins (som giver os \FloatBarrier) faktisk har en option (section) som vil lave ovenstende omdenering, se desuden Arseneau (1999). Begynder man p at anvende tricks af denne slags, skal man vide hvad man gr og hvordan tingene fungerer. Dette glder isr hvis der er makroargumenter involveret. Ovenstende omdenition af \section ville eksempelvis g helt galt hvis man byttede om p rkkeflgen af \FloatBarrier og \oldsection, thi s ville \oldsection spise \FloatBarrier som et argument, hvilket tydeligtvis ikke er meningen.
Sidebemrkning A.3.

En anden ting man skal vre srlig opmrksom p, er at man ikke kommer til at lave en ikke-tiltnkt rekursion. F.eks.
Farlig (ls teksten) A.4.
\renewcommand\nabla{\overline{\nabla}}

A Dette vil g ind i en uendelig rekursion og L TEX vil fejle nr den er lbet tr for hukommelse.

Eksempel A.11

Makroer specielt til teksten

Man har sikkert opdaget at undertegnede er ret glad for memoir -klassen. For at skrive memoir kan jeg i min opstning skrive
\markup[nomk,cls]{memoir}

Men det bliver man jo trt af, s man laver sig en genvej:
\newcommand\memoir{\markup[nomk,cls]{memoir}}

Men s er problemet jo at man bliver ndt til at skrive \memoir{} hele tiden for ellers spiser den mellemrummet efter. Ved at anvende makroen \xspace fra pakken xspace, kan man komme ud over dette problem, dvs.
\usepackage{xspace} \newcommand\memoir{memoir\xspace}
slut preamble

Eksempel A.12
\xspace

xspace
Eksempel A.13

bla memoir bla

bla \memoir bla

Via \xspace vil makroen man har lavet ikke spise mellemrummet efter.
341
Kapitlet er sidst opdateret 2010/07/11 18:41 (revision 701)

A. Om generering af nye makroer

A.2

Hvor glder ndringer af makroer, lngder etc.?

De este programmeringssprog har et begreb kaldet scope som beskriver hvor en ndring af en variabel etc. er gldende, ofte global ndring versus lokal ndring. Man kunne overstte scope med spillerum. I TEX er ndringer normalt globale i den forstand at de virker alle steder fra deres denition og frem. ndringerne er dog lokale hvis omstndighederne er i orden. (Visse ndringer er dog altid globale.)
Denition A.5.

ndringer eller denitioner er lokale hvis

de er omkranset af et {. . . }-par. Eksempel


Eksempel A.14
Almindelig tekst {\tiny tekst}. Almindelig tekst igen.

Almindelig tekst tekst. Almindelig tekst igen.

Dette inkluderer dog ikke det {}-par som omkranser kodedelen af en \newcommand, her bliver man ndt til at tilfje et ekstra par. Dette ses ofte i kommandoer som anvender fontkommandoer, e.g. \bfseries etc. Her ville man s skulle anvende
Eksempel A.15
\newcommand\lilletekst[1]{{\small #1}}

omkranset af parret \begingroup. . . \endgroup, som fungerer p nogenlunde samme mde som et {}-par. ndringen sker indenfor et environment (environment denitionen inkluderer oftest et \begingroup\endgroup-par, dette indsttes automatisk af \newenvironment) navn } ndringer af fonte, fontstrrelser, omdenering af makroer, ndring af lngder etc. som sker herinde har ingen eekt efter \end{ navn } \end{ navn }
\begin{

Personligt anvender jeg tit \begingroup. . . \endgroup konstruktionen til lokalt at ndre p ting. Dette kan f.eks. vre lokalt at pille ved \descriptionlabel som str for formateringen af labels i description-environmentet. Ville man lokalt gre disse labels kursive kunne man anvende
Eksempel A.16
\begingroup \renewcommand\descriptionlabel[1]{% \hspace{\labelsep}\textit{#1}} \begin{description}\tightlist \item[foo] bar \item[hest] nisse \end{description} \endgroup

foo bar hest nisse

Efter \endgroup er denitionen af \descriptionlabel tilbage til hvad den var ved \begingroup. Se ivrigt Eksempel A.19.

342
Kapitlet er sidst opdateret 2010/07/11 18:41 (revision 701)

Lave sit eget environment

A.3

Lave sit eget environment

Med \newenvironment laver man benlyst nye environments. Syntaksen og muligheden for argumenter er njagtigt den samme som for \newcommand, dog skal man her udfylde to kode segmenter. env navn }[ num arg ][ std #1 ]% { start kode }{ slut kode }
\newenvironment{
\newenvironment

Her er dog en vigtig lille twist, eventuelle argumenter kan kun anvendes i start koden, ikke i slut koden.10 Eksempel:
\newenvironment{myquote}[1][\itshape]{% \begin{quotation}#1}{\end{quotation}}

Eksempel A.17

som nu er en variation af quotation som automatisk stter al teksten i italic (eller hvad man nu nsker). Skal man ndre et eksisterende environment benyttes selvflgelig \renewenvironment med de sdvanlige forholdsregler. Her br man dog vre opmrksom p at der er visse environments som man ikke kan ndre eller anvende p denne mde, hvilke skal vi dog ikke komme ind p her. Her er et eksempel p hvordan man kan kombinere babel med quote-environmentet for at lave et environment til engelske citater.
\newenvironment{engquote}% {\begin{otherlanguage}{english}% \begin{quote}\itshape\small}% {\end{quote}\end{otherlanguage}}% \chaptername % dansk \begin{engquote} \chaptername % engelsk \end{engquote} \chaptername % dansk igen

Eksempel A.18

Kapitel
Chapter

Kapitel

Bemrk at det ikke kun er inden i brugen af et environment at man har lokale ndringer, det har man ogs nr man denerer sit eget environment. Man kunne vlge at pille ved ting internt i environmentet, eller denere makroer som kun er deneret indenfor environmentet, men ikke udenfor.11 (Her har vi faktisk et eksempel p den frnvnte #-duplering.)
\newenvironment{foobar}{% \renewcommand\emph[1]{\textcolor{nicered}{##1}} \newcommand\MyLittlePony{Nej, vel!} }{} \begin{foobar} \emph{\MyLittlePony} \end{foobar}

Eksempel A.19

Nej, vel!

10 Dette kan man dog ogs komme ud over, men s er vi ovre i noget som ligger udenfor denne bog, sprg

hvis det er noget som man mener man har brug for.
11 Dette kan vre ret nyttigt i visse sammenhnge.

343
Kapitlet er sidst opdateret 2010/07/11 18:41 (revision 701)

A. Om generering af nye makroer

A.4

Makronavne med @

\@tempdima

Et af de omrder hvor ndring af eksisterende makroer volder de strste problemer er brugen af @ i makronavne. Makronavne med @ er normalt interne makroer, alts noget som pakke- og klasseforfattere anvender for at lave de makroer som slutbrugeren har til rdighed. Eksempelvis er \@tempdima ofte vre anvendelig som en midlertidig lngdevariabel. Under normale omstndigheder m brugeren kun anvende bogstaver i makronavne. Forsger man i preamblen (eller andet sted i ens dokument) at ndre ved en makro med @ i navnet uden at tage sine forholdsregler vil man opleve en fejlmeddelelse lignende:
! LaTeX Error: Missing \begin{document}. See the LaTeX manual or LaTeX Companion for explanation. Type ... l.3 \newcommand\foo@b ar{} H <return> for immediate help.

\makeatletter \makeatother

A nsker man at ndre p en makro med @ i navnet skal man derfor, overfor L TEX, gre opmrksom p at man alts godt ved at det man gr kan vre potentielt farligt. Dette gr man ved at pakke udtrykket ind p flgende vis
\makeatletter

Eksempel A.20

\newcommand\foo@bar{...} \makeatother

\makeatletter

A fortller s L TEX at herfra skal den opfatte @ (engl. at) som et bogstav, og s m den gerne anvendes i makronavne (sammen med aZ og AZ). Tilsvarende vil \makeatother lave @ om til noget andet igen. Se ogs FAQ (2007).

Sidebemrkning A.6.

Hvis man i stedet har yttet ndringen af @-makroer til ens egen pakke, s behver man ikke \makeatletter\makeatother-parret.

A.5

Om at lave sin egen pakke

Har ens dokument en meget lang preamble eller er der nogle konstruktioner man ofte benytter, kan man med fordel lave sin egen pakke. Dette er faktisk meget nemt. Her vil vi kort beskrive fremgangsmden: (a) Find et navn (e.g. minpakke), og bn len minpakke.sty (endelsen er vigtig) i en teksteditor. (b) Start len med
\ProvidesPackage{

pakkenavn }[YYYY/MM/DD tekst]

Eksempel:
Eksempel A.21
\ProvidesPackage{minpakke}[2005/07/18 preamble til mit speciale]

Den dato man anvender kan faktisk anvendes nr man loader pakken, hvis man gerne vil sikre sig at man fr en version som er nyere end en given dato.
344
Kapitlet er sidst opdateret 2010/07/11 18:41 (revision 701)

Makroer med avancerede argumenter

(c) S ytter man bare alle ens denitioner og egne makroer til denne pakke som s i dokumentet kaldes via \usepackage{minpakke}. Pakken placeres et sted hvor A L TEX kan ndes den, oftest i det samme bibliotek som dokumentet, eller i ens A lokale pakketr. Se dokumentationen for din egen L TEX installation for mere information om hvordan man installerer pakker. (d) Husk at man i ens egen pakke gerne m benytte @ i makronavne og man kan uden videre ndre ved makroer hvis navn indeholder et @, s nu har man ikke lngere brug for \makeatletter eller \makeatother. LTX3 (1999) kan vre til hjlp nr man vil starte med at lave sin egen pakke, her kan man f.eks. nde metoder til at loade f.eks. en kongurationsl (hvis den ndes), eller hvordan man denerer pakkeoptions. Ender man op med en pakke som andre kunne f glde af kunne man overveje at uploade den til ctan. Her skal man lige huske at give pakken en licens, normalt lppllicensen (http://www.latex-project.org/lppl.txt), som bl.a. siger at andre gerne m rette ved pakken, men det m ikke frigive den under det samme navn. Dette gr man for at sikre at ler ser ens ud selv om de bliver oversat p forskellige systemer.
A.6 Makroer med avancerede argumenter

Her er der to typer: key = value -systemer samt makroer med mange valgfri argumenter eller stjerne-makroer. Til den frste type kan man tage et kig p pakken xkeyval. Vi vil her tage et kig p en lsning til den anden type. A Pakken vi vil anvende er faktisk en del af det som en gang mske bliver til L TEX3: xparse. Vi vil helt konkret se p hvordan vi laver en makro som tager to obligatoriske argumenter og som understtter syntaksen fra makroer lavet med \DeclarePairedDelimiter. Vi vil lave en makro med to argumenter til indre produkt samt lave en braketmakro. Vi har tidligere set hvordan man kan lave en makro til indre produkt som anvende t argument. Ulempen ved dette er at det kan vre bvlet bagefter at skifte syntaks, f.eks. fra \inner{A, B} til \innter{A; B}, dette kunne man lige s godt have i \inner. \braket bliver et eksempel p hvordan man kan lave en automatisk skallering af et ekstra stykke hegn indeni makroen fra \DeclarePairedDelimiter. Koden i Eksempel A.22 er dog nu irrelevant, thi seneste mathtools opdatering (juli 2010) giver en udvidet \DeclarePairedDelimiter makro som specielt er lavet sledes at man kan lave makroer som beskrevet i Eksempel A.22. I den lidt mere skumle ende anvendes makroen fra Eksempel A.23 til at give en line i listen over grske bogstaver (tabel 3.2). Ideen er at hvis bogstavet er et symbol, s vil vi gerne indeksere det, i.e. vi vil indtaste det uden \, mens hvis det bare er et latinsk bogstav, s skal den bare kunne skrives. Vi vil ogs gerne kunne tilfje en note til outputtet (i form af en tabelnote label). Eksempler p brugen af makroen kan ses i slutnigen af Eksempel A.23. Ret smart, og meget pladsbesparende i koden.
A.7 Andre ting vrd at kende vedr. makroprogrammering

En pakke jeg personligt har haft megen glde af p det seneste er etoolbox som bl.a. biblatex er bygget over. Pakken giver en masse spndende redskaber for programmA rer med kendskab til TEX. Dog er der ogs relevante ting som almindelige L TEX-brugere
345
Kapitlet er sidst opdateret 2010/07/11 18:41 (revision 701)

A. Om generering af nye makroer

Eksempel A.22

\usepackage{mathtools,xparse} \DeclarePairedDelimiter\innerinner\langle\rangle \NewDocumentCommand\inner{ s o m m } {% \IfBooleanTF{#1}{% med * \innerinner*{#3, #4}% }{% uden * \IfNoValueTF{#2}{% intet [] \innerinner{#3, #4}% }{% manuel skalering \innerinner[#2]{#3, #4}% }}} \NewDocumentCommand\braket{ s o m m } { \IfBooleanTF{#1}{% med * \innerinner*{#3 \,\middle\vert\, #4}% }{% uden * \IfNoValueTF{#2}{% intet [] \innerinner{#3 \,\vert\, #4}% }{% manuel skalering \innerinner[#2]{#3 \,#2\vert\, #4}% }}}
slut preamble

1 ,B 2

A|B

1 B 2

\[ \inner*{ \frac{1}{2} }{B} \quad \braket{A}{B} \quad \braket[\Big]{ \frac{1}{2} }{B} \]

Eksempel A.23

\DeclareDocumentCommand\graeskebogstaver{ mso mso m}{% \expandafter\@ifmtarg\expandafter{#1}{% & }{\IfBooleanTF#2{% \texttt{#1} & $#1$% \IfNoValueTF{#3}{}{\tnotex{#3}}% }{% \markup[msym,nomk]{#1} & $\@nameuse{#1}$% \IfNoValueTF{#3}{}{\tnotex{#3}}% }% }% && \expandafter\@ifmtarg\expandafter{#4}{% &% }{% \IfBooleanTF#5{% \texttt{#4} & $#4$% \IfNoValueTF{#6}{}{\tnotex{#6}}% }{% \markup[msym,nomk]{#4} & $\@nameuse{#4}$% \IfNoValueTF{#6}{}{\tnotex{#6}}% }% }% && #7% \\ } % brug: %\graeskebogstaver{navn}*[note-label]{navn}*[note-label]{udtale} \graeskebogstaver{alpha}{A}*{alfa} \graeskebogstaver{sigma}{Sigma}[tn:4]{sigma}

346
Kapitlet er sidst opdateret 2010/07/11 18:41 (revision 701)

Andre ting vrd at kende vedr. makroprogrammering

kunne f brug for. Antag f.eks. vi har lavet en makro som tager et valgfrit argument i #1. Hvordan tjekker vi om dette argument er tomt?
\usepackage{etoolbox} \newcommand\test[2][]{% \ifblank{#1}{\#1 er tom}{\#1 er ikke tom} }

Eksempel A.24

Tag et kig i Lehman (2009) for mere information. Der ndes ogs makroer til at tjekke om bestemte pakker er indlst, samt test for om de er kaldt med bestemte options. A Men generelt, hvis man nsker at forst L TEX-makroprogrammering, s er der ingen vej uden om at kende til noget TEX-programmering. S er der en god ide at A kigge i Eijkhout (2001) eller Knuth (1986) (hvis man har den). Desuden er L TEXkildekoden et godt sted at kigge efter hvordan ting er lavet, eller tjekke syntaksen for A noget man mener at kunne huske. I moderne L TEX-installationer kan man f fremvist AT X-kildekoden via L E
texdoc source2e

347

Appendix B

Nyttige metoder og konstruktioner


I indledningen skrev vi at vi ikke ville komme nrmere ind p hvordan man laver A avanceret makroprogrammering i L TEX. Vi vil dog forklare lidt om nogle redskaber som kan vre nyttige.
B.1 Om lngder

A I L TEX er en lngdekommando en speciel type af makro, hvor vrdien skal vre et tal med en lngdeenhed, understttede enheder kan ses i Tabel B.1. Som man kan se understttes enheden meter ikke.
A Tabel B.1: Lngdeenheder i L TEX

pt pc in bp mm cm dd cc em ex

punkt pica, (12 pt) amerikansk tomme (1 in er lig 72.27 pt) big points (72 bp er lig 1 in)a millimeter centimeter (2.54 cm er lig 1 in) didot (1157 dd er lig 1238 )b cicero (12 dd)b dynamisk lngde svarende til den nuvrende skriftstrrelsec ndres ogs dynamisk med skriftstrrelsen, svarer ca. til hjden af x.

a trim-optionen til \includegraphics (se afsnit 6.1.2) anvender denne enhed hvis man undlader b minder om pt samt pc og anvendes isr i Europa. c dvs. skriver man noget med \small, s ndres strrelsen af 1em indenfor dette omrde. Som

at angive en enhed.

ngerregel siger man ofte at en em svarer cirka til bredden af M.

Til at oprette nye lngdemakroer eller ndre deres vrdi, anvender man en af flgende makoer: navn } navn }{ vrdi } \addtolength{\ navn }{ vrdi } \settowidth{\ navn }{ materiale } \settoheight{\ navn }{ materiale } \settodepth{\ navn }{ materiale }
\newlength{\ \setlength{\
\newlength \setlength \addtolength \settowidth \settoheight \settodepth

De tre frste makroer er til at oprette en ny lngde makro, til at stte en lngde til en bestemt vrdi og den tredje til at addere til en given lngde (). Bemrk at der skal enhed med, men ogs at den valgte enhed er ligegyldig. De tre sidste makroer kan anvendes til at mle p forskellige strrelser vedr. det materiale man har angivet. Bemrk at hjden er hjden over basislinien (den linie teksten str p) og at dybden henviser til dybden under (derfor er der to makroer).
349
Kapitlet er sidst opdateret 2010/03/02 16:59 (revision 612)

B. Nyttige metoder og konstruktioner

calc

Det er en god ide altid at anvende pakken calc som udvider funktionaliteten af bl.a. \setlength og \addtolength sledes at man nu kan lave beregninger indeni vrdi . Det vil sige at har man indlst calc s er flgende lovligt:
\newlength{\mylength} \setlength{\mylength}{400pt+5cm} \setlength{\mylength}{\textwidth-15mm} \addtolength{\mylength}{400pt*6}

Eksempel B.1

Bemrk at man gerne m blande enheder (dog er 4cm + 5 forbudt), samt at skal man gange et tal med enhed med et helt tal, s skal *6 komme efter tallet med enhed. Bemrk ogs at man altid gerne m skrive f.eks.
Eksempel B.2
\addtolength{\mylength}{0.6\textwidth}

nr der er tale om en given lngdemakro. nsker man at gange en lngde med et reelt tal (decimaltal) s skal man anvende syntaksen 400px * \real{1.7}, se Thorup og Jensen (1998) for yderligere information. Calc pakken giver os ogs nogle ekstra mle makroer: materiale } \heightof{ materiale } \depthof{ materiale }
\widthof{

\widthof \heightof \depthof

Svarer til makroerne beskrevet tidligere, men her kan de med det samme anvendes som en lngde angivelse, uden at man skal bruge en eventuel midlertidig lngdemakro til at gemme vrdien i.
\totalheightof \settotalheightof

materiale } \settotalheightof{\ navn }{ materiale }


\totalheightof{

Hvilket svarer til i et hug at fange hjden og dybden af noget materiale . En anden fordel ved brugen af calc er at man s kan anvende lngde-addition alle de steder som internt anvender \setlength, dette tller f.eks. geometry-pakken, memoir s margin justeringer, \parbox og minipage-environmentet (som vi beskriver senere i dette kapitel) samt f.eks. sjlespecieren p til tabeller.
B.1.1 Nyttige lngder

A Her lister vi nogle af de lngder som anvendes i L TEX, der kan vre nyttige at kende, f.eks. er det meget anvendeligt at kunne skalere et billede i termer af liniebredden i stedet for en fast vrdi i centimeter, for s skalerer det nt hvis man senere ndrer tekst-/liniebredden, se Tabel B.2. Man har desuden tre temporre lngde makroer man kan bruge: \@tempdima, \@tempdimb og \@tempdimc. Disse br alle kun anvendes lokalt og hurtigt (da der er andre makroer som ogs internt anvender disse makroer og derfor ndrer p vrdien).

B.2

Om tllere

A En tller (engl. counter) en en anden type makroer i L TEX som kan holde hele tal (og kun hele tal). Der er s markoer til at manipulere disse. Egentlig kender vi allerede til tllere, der er f.eks. en tller (page) som holder det nuvrende sidetal, en anden (chapter) som holder styr p det nuvrende kapitelnummer.

350
Kapitlet er sidst opdateret 2010/03/02 16:59 (revision 612)

Den graske reprsentation af en tller

A Tabel B.2: Nyttige lngder i L TEX

\textwidth \textheight \paperwidth \paperheight \linewidth \unitlength

\columnsep
\parbox{5cm}{...}

tekstbredden i dokumentet teksthjden i dokumentet bredden af den valgte papirtype hjden af den valgte papirtype den nuvrende liniebredde, ndrer sig dynamisk.a dette er en lngde som normalt anvendes som enhed i picture-environmentet (som ellers ikke omtales i denne bog, se dog appendix i seneste version af Wilson (2010)).b halvdelen af afstanden mellem sjlerne i en tabel.

a \linewidth er f.eks. kortere end tekstbredden hvis man er i et punkt i en liste eller indeni b Det skulle ikke vre noget problem at anvende den til egne forml. De fem foregende

lngder br man ikke pille ved i dokumentet.

En speciel ting ved tllere er at de faktisk bestr af to makroer: En som er selve tlleren, samt en som er en grask reprsentation af tlleren. Den sidste kommando er den makro man s anvender for at skrive vrdien af en tller i selve dokumentet. Det kunne jo vre at tlleren skulle skrives med romertal, s denerer man bare den graske version af tlleren til at konvertere det hele tal gemt i tlleren til romertal. Makroerne vi anvender er: navn }[ navn p dominereden tller ] navn }{ vrdi } \addtocounter{ navn }{ vrdi }
\newcounter{ \setcounter{
\newcounter \setcounter \addtocounter

hvor vrdi Z. Har man indlst calc-pakken s m man lave udregninger i vrdi . Har man angivet en dominerende tller , s vil den tller vi opretter blive nulstillet hver gang den dominerende tller ndrer vrdi. Til at tlle vrdien op med +1 har vi to step makroer:
\stepcounter{ \refstepcounter{

tller } tller }

\stepcounter \refstepcounter

Her vil \refstepcounter desuden gre at man kan henvise til den nye vrdi via \label. Skal man bruge den nuvrende vrdi af en tller (f.eks. i en sammenligning, se senere) s kan man anvende
\value{

tller }

\value

Dette kan s bruges til f.eks. at stte vrdien af tller2 til at vre vrdien af tller1 :
\setcounter{counter2}{\value{counter1}}

Eksempel B.3

B.2.1

Den graske reprsentation af en tller

Selve tlleren vil altid holde et helt tal. Den graske reprsentation af tlleren klares af makroen \the navn . Denne kan man s omdenere som man lyster. Til at hive vrdien ud i forskellige formater har vi makroerne i Tabel B.3.
351
Kapitlet er sidst opdateret 2010/03/02 16:59 (revision 612)

B. Nyttige metoder og konstruktioner

Tabel B.3: Hjlpemakroer til at skrive vrdien af en tller.

navn } \roman{ navn } \Roman{ navn } \alph{ navn } \Alph{ navn }


\arabic{

Almindelige tal Sm romertala Store romertala Sm bogstaverb Store bogstaverb

a Understtter kun vrdier som er strre end nul. b Kun bogstaverne a til z inkl. w.

S hvis man har en tller ved navn hest og man nsker at denne skal skrives med store romertal s laver man bare
Eksempel B.4
\renewcommand\thehest{\Roman{hest}}

Hvis tlleren er domineret af en anden tller og man gerne vil vise dette (p samme mde som f.eks. sektionsnumrene i denne bog) s skal man tage dette med nr man laver sin \the navn -makro. F.eks. er \thesection ofte deneret som
Eksempel B.5
\renewcommand\thesection{\thechapter.\arabic{section}}

Har man en tller som allerede er deneret, og man gerne vil have den domineret, er der et par konstruktioner man kan anvende, se Tabel B.4.
Tabel B.4: S/M for tllere.

tller }{ dominator }a \counterwithin{ tller }{ dominator }b \counterwithout{ tller }{ dominator }b,c


\numberwithin{
a Krver amsmath-pakken. b Krver memoir -klasen eller chngcntr-pakken. c Denne vil benlyst fjerne domineringen igen.

B.3

Betingedekonstruktioner (if-then)

TEX har sine egne lav-tekniske hvis-konstrukioner, som ligger noget uden for denne bog, den ivrige lser kan tage et kig i Knuth (1986) eller Eijkhout (2001). Til specielle (store) konstruktioner anbefales det at man gr sig bekendt med \ifdim og \ifnum. Vi vil i stedet anbefale en mere brugervenlig konstruktion. Her anbefaler vi pakken xifthen som er en udvidelse af den klassiske ifthen-pakke (se Noirel (2007) hhv. Carlisle (2001b) for yderligere information). Vi vil kun sige lidt om brugen af pakken og i stedet henvise til Noirel (2007). Man anvender
\ifthenelse{

xifthen

\ifthenelse

betingelse }{ kode hvis sand }{ kode hvis falsk }

Hvor betingelse er kan vre genereret af testene fra nedenstende liste. Listen er ikke komplet, der er ere tests og andre konstruktioner i Noirel (2007).
352
Kapitlet er sidst opdateret 2010/03/02 16:59 (revision 612)

Luftkasteller

\boolean{

boolean variabel } En boolean variabel laves via \newboolean{ navn } og sttes til sandt eller falsk via \setboolean{ navn }{ true eller false }. tal }{ betingelse }{ tal } Her kan betingelse vre <, >, = samt >= og <=. tal m gerne vre en udregning som ved calc samt vrdien af en tller (via \value{ tller }). Dvs. dette er en lovlig test p hele tal:
\cnttest{\value{section}+5}{>=}{\value{chapter}-3}

\newboolean \setboolean

\cnttest{

Eksempel B.6

\isodd{

tal } Siger sig selv.

\dimtest{

lngde }{ betingelse }{ lngde } Svarer til \cnttest bare for lngder. Igen m vi gerne lave udregninger a la
\dimtest{\textwidth-5cm}{>=}{0cm}

Eksempel B.7

\isempty{ \equal{

tekst } tekst m gerne vre en makro, det er resultatet vi kigger p.

tekst }{ tekst } Tester om resultatet af de to tekster er den samme. Ls venligst bemrkningerne omkring \equal i Noirel (2007).

\isin{

subtekst }{ tekst } Tester om subtekst er en del af tekst . Der er desuden en \endswith{ tekst } { subtekst }-makro som tester fra slutningen af tekst .
\AND \OR \NOT \( \)

De enkelte tests kan kdes sammen i betingelse via makroerne \AND, \OR, \NOT samt \( og \). Bemrk at parentserne kan vre ret vigtige, hvor vi normalt tolker 1 + 2 3 som 1 + (2 3) vil xifthen tolke det som (1 + 2) 3, med mindre vi anvender parenteser. Vi kan alts lave betingelsen
\dimtest{\textwidth-\widthof{\hest}}{<=}{3cm} \AND \( \NOT \isodd{\value{section}} \OR \dimtest{(2cm+\linewidth)*2}{<}{\textwidth} \)

Eksempel B.8

Bemrk hvordan vi anvender almindelige parenteser nr vi skal lave beregninger via calc. Pakken xifthen tillades desuden at man kan denere sine egne tests, se igen Noirel (2007).
B.4 Luftkasteller

Til specialdokumenter samt til forsider har man brug for at kunne indstte ekstra luft vertikalt og horisontalt. Dette vil vi kigge lidt nrmere p i dette afsnit.
B.4.1 Lodret

Der er tre makroer man br kende til


\vspace{ \vfill
353
Kapitlet er sidst opdateret 2010/03/02 16:59 (revision 612)

\vspace*{

lngde } lngde }

\vspace \vspace* \vfill

B. Nyttige metoder og konstruktioner

Disse skal helt placeres mellem afsnit, ellers fr man uintuitive resultater. Argumentet kan vre en lngdemakro, eller et tal med en enhed, se evt. Tabel B.1. Forskellem mellem \vspace og \vspace* ligger i at hvis \vspace kommer som det frste p en side, s ignoreres den, mens \vspace* ikke ignoreres. Hvorfor denne forskel? Fordi, hvis man f.eks. tager \section s laver den jo noget luft over for at adskille den fra teksten som kommer lige fr. Men hvis der er et sideskift lige fr overskriften er der jo ikke nogen grund til at anvende luft til at lave denne adskillelse. \vspace*{ lngde } indsttes uanset hvad. Vi anvender ofte \vspace* til forsider, for enten lige at presse den verste del lidt ned, eller hvis lngde er negativ, for at hive indholdet lidt op ind i omrdet over tekstblokken (anbefales kun til forsider!). Makroen \vfill er lidt anderledes, den vil rykke alt ned mod bunden af siden, dog vil den ignoreres hvis den placeres frst p siden, hvilket kan afhjlpes med f.eks. \strut\vfill. Man kan desuden anvende specielle elastiklngder og -angivelser til at skabe andre nyttige eekter, se afsnit B.4.3. Hvis f.eks. man nsker at centrere noget vertikalt p p en side, mske til et skilt eller en forside, s er det faktisk pnest at dette str lidt over den faktiske midten af siden.
B.4.2 Vandret

Til de vandrette har vi tilsvarende


\hspace \hspace* \hfill

\hspace{ \hfill

\hspace*{

lngde } lngde }

Her er det dog i starten af en linie at \hspace eller \hfill kan forsvinde. Disse tre makroer anvendes mest til forsider samt i oats hvori ere gurer str ved siden af hinanden. Eksempel
Eksempel B.9
tekst\hspace{1cm}tekst\hfill tekst

tekst

tekst

tekst

B.4.3

Elastiske konstruktioner

Man har mske lagt mrke til at mellemrummet omkring \section kan variere fra side til side alt efter indholdet af siden. Man siger at dette mellemrum indeholder en vis mngde strk og krymp (engl. stretch og shrink). Man kan selv specicere sdan noget via \setlength, syntaksen er s
\setlength{

navn }{ lngde plus strklngde minus krympelngde }

Man skal bemrke de to ngleord plus og minus, og husk at man behver ikke have begge med. Denne specikation gr s at hvis lngden \ navn bliver anvendt i en lodretsammenhng, og hvis denne side har brug noget strkning eller sammentrkning, s vil de angivne lngder tages med i betragtning. Bemrk at konstruktionen kan ogs anvendes i argumentet til f.eks. \vspace. Mine personlige ynglingseksempler til dette er indholdsfortegnelsen samt indekset. I indholdsfortegnelsen indttes der luft fr hvert nyt kapitel, hvis man ndrer den lngde som indsttes sledes at den nu indeholder strk og krymp, s opnr man ofte en pnere indholdsfortegnelse med bedre sideombrydninger, eller en ToC som er blevet trukket lidt mere sammen sledes at den nu kan vre p n side. I indekset er det afstanden mellem bogstavgrupperne man kan pille ved p denne mde.
354
Kapitlet er sidst opdateret 2010/03/02 16:59 (revision 612)

Kassetnkning

Der er ogs en anden elastikkonstruktion som kan vre meget nyttig. Makroen
\stretch{

helt tal 0 }

kan anvendes som erstatning til lngde Prcist hvordan den skal fortolkes er lidt svrt at forklare, s det undlader vi. Vi laver i stedet et eksempel. Man skal forestille sig at vi nsker at lave en forside hvor der bare str en titel og at denne skal st lidt over midten p siden.
\fbox{\begin{minipage}% [c][0.8\textheight][c]{\linewidth} \strut\vspace{\stretch{3}} \centering En titel \vspace{\stretch{5}}\strut \end{minipage}}

Eksempel B.10

En titel

For at kunne vise resultatet som et af vore sm eksempler bliver vi lige ndt til at smide det hele ind i min minipage-konstruktion1 og smide endnu en ramme omkring. Det man skal observere er at \vspace{\stretch{3}} indstter et elastisk mellemrum p samme mde som \vfill, men her der er en form for samarbejde mellem de to \stretch-makroer sledes at de deler luften mellem sig efter den ngle som er givet.
B.5 Kassetnkning

A Vi har allerede mdt L TEXnikske kasser i f.eks. afsnit 6.3, her vil vi forklare syntaksen lidt nrmere.

B.5.1

Kasser med linieombrydning

Vi har to primre konstruktioner (som egentlig er det samme), pos ]{ bredde }{ indhold } \begin{minipage}[ pos ]{ bredde } indhold
\parbox[ \end{minipage}
\parbox

minipage

Eneste forskel mellem de er at den ene anvendes som et environment mens den anden bare er en makro. pos er en af t, b eller c (standard), anvendes i og for sig kun hvis en \parbox/minipage str ved siden af en \parbox/minipage eller f.eks. en tabular. Herefter er tolkningen at hvis de to har angivet [t] s vil den frste basislinie i hver kasse komme til at st overfor hinanden. Tilsvarende i bunden hvis man har angivet [b]. Ved [c] centreres indholdes vertikalt. Lad os illustrere med et eksempel, se B.11.

1 Som forklares i afsnit B.5.

355
Kapitlet er sidst opdateret 2010/03/02 16:59 (revision 612)

B. Nyttige metoder og konstruktioner

Eksempel B.11

\fbox{\parbox[t]{2cm}{% alignment top}}\quad \fbox{\parbox[t]{2cm}{top}} \fbox{\parbox[b]{2cm}{% alignment bund}}\quad \fbox{\parbox[b]{2cm}{bund}} \fbox{\parbox[c]{2cm}{% alignment center}}\quad \fbox{\parbox[c]{2cm}{center}}

alignment top alignment bund alignment center

top

bund center

Man skal vre opmrksom p at indholdet inden i en \parbox/minipage brydes ikke hen over en side, det er bare en kasse med en anden bredde end den normale tekst. Vi anvender dem primrt til forsider (tekster p hver sin side af forsiden justeret i toppen eller bunden, her kunne man ogs anvende en smart tabel) eller til opstning af ere gurer i samme oat, se afsnit 6.3. Makroen \parbox og environmentet minipage kan faktisk tage endnu ere argumenter. Man kan nemlig ogs stte hjden af en af disse kasser. Den komplette liste af argumenter er
Advanceret B.1.

pos ][ hjde ][ indre position ]{ bredde }{ indhold } \begin{minipage}[ pos ][ hjde ][ indre position ]{ bredde } indhold
\parbox[ \end{minipage}

Hvor indre position forklares i Mittelbach og Goossens (2004). Dette med at kunne stte hjden af f.eks. en minipage kan vre ret nyttigt i egne meget specielle makroer. P Inst. for Matematiske Fag har vi en webapplikation som kan lave lister som de studerende skal registrere sig p til de teoretiske velser. Her styrer vi feltstrrelsen via \parbox.

Der ndes et par pakker som kan vre nyttige.


varwidth
varwidth

Giver environmentet
\begin{varwidth}{

max bredde }

indhold
\end{varwidth}

som minder om minipage, men som faktisk justerer sin strrelse sledes at den passer med den maksimale bredde af indhold . boxedminipage Giver environmentet
boxedminipage

\begin{boxedminipage}{

max bredde }

indhold
\end{boxedminipage}

Som igen svarer til en minipage uden valgfri options. Her sttes s desuden en ramme omkring indholdet.

356
Kapitlet er sidst opdateret 2010/03/02 16:59 (revision 612)

Inline kasser (uden linie ombrydning)

B.5.2

Inline kasser (uden linie ombrydning)

Som vi kan se skal \parbox/minipage have en bredde og at disse har linieombrydning. Vi har ogs kassekonstruktioner som ikke har ombrydning, men som stadigvk kan vre interessante.
\fbox{

indhold } indhold } \makebox[ bredde ][ pos ]{ indhold } \framebox[ bredde ][ pos ]{ indhold }
\mbox{

\mbox \fbox \makebox \framebox

\fboxrule;

Makroerne \fbox hhv. \framebox stter en ramme omkring deres indhold (tykkelse: polstring: \fboxsep). Har man brug for at stte en ramme omkring noget som skal vre ere linier, s pak indholdet ind i en \parbox/minipage-konstruktion.
Tip B.2.

De to makroer som kan tage bredde har et sjovt trick i rmet. Inden i [ bredde ] kan man anvende makroerne \width, \height, \depth, og\totalheight til at tilg strrelserne af indhold . [ pos ] er l, r eller c (standard) og anvendes oftest til at specicere alignment inden i kassen. Man kan lave sjove eekter ved at anvende bredden 0pt:
tekst\hspace{2cm} \makebox[0pt][r]{Hopla!\ }tekst tekst\hspace{2cm} uden makebox

tekst tekst

Hopla! tekst uden makebox

Eksempel B.12

Vi laver en kasse uden bredde og justerer tingene sledes at hjre kant af indhold havner det sted hvor \makebox er placeret. Observer hvordan teksten skrives indeni omrdet vi laver med \hspace. Makroen \mbox anvendes primrt til at smide omkring noget man ikke nsker skal deles over to linier. Vi kan vertikalt ytte placeringen af en via
\raisebox{

lft }[ hjde ][ dybe ]{ indhold }

\raisebox

hvor [ hjde ][ dybe ] pvirker den opfattede strrelse af det man har lftet. Tit stter man disse til 0pt, hvis de ikke er sat, anvendes de naturlige strrelser ud fra indhold . Et eksempel p brugen af \raisebox kan ses i Eksempel 6.24. Bemrk at vi ogs her kan anvende \width, \height, \depth, og\totalheight til at henvise til den naturlige strrelse af indholdet.
B.6 Et par makroer fra graphicx-pakken

Vi har tidligere set at \includegraphics-makroen kan skalere og rotere sit indhold. Disse features fes ogs som enkeltsende makroer. vandret skalering }[ lodret skalering ]{ indhold } \resizebox{ vandret bredde }{ lodret hjde }{ indhold } \reflectbox{ indhold } \rotatebox[ options ]{ vinkel }{ indhold }
\scalebox{
357
Kapitlet er sidst opdateret 2010/03/02 16:59 (revision 612)
\scalebox \resizebox \reflectbox \rotatebox

B. Nyttige metoder og konstruktioner

Den frste makro anvender decimaltal (faktor) til at skalere indholdet med, hvis lodret skalering ikke er angivet, anvendes samme faktor her. Hvis faktoren er 1 vil indhold blive spejlvendt . Omvendt kan man med \resizebox skalere til en bestemt bredde eller hjde. Skulle man nske at skalere til en hvis bredde og gerne vil have at f.eks. hjden skaleres med samme resulterende faktisk s kan man anvende et ! som magiske lngde. Et sted hvor jeg har fundet god nytte af \resizebox er i et dokumenter hvor vi skulle lave en navneliste og hver der ogs skulle vre emacs-adresser og disse mtte ikke linie ombrydes. Dette kan man kse via
Eksempel B.13
\usepackage{xifthen,url,graphicx,calc}
slut preamble

\newcommand\printemail[1]{% \ifthenelse{\dimtest{\widthof{\url{#1}}}{<=}{2cm} }{% \url{#1}% }{% \resizebox{2cm}{!}{\url{#1}}% }} \printemail{daleif@imf.au.dk} \printemail{dr@dr.dk}

daleif@imf.au.dk

dr@dr.dk

Dvs. hvis den er for stor, skaleres den automatisk ned. [ options ] til \rotatebox skal vi ikke komme nrmere ind p her, de har noget at gre med hvilket punkt man roterer om samt hvilke enheder vinklen skal angives i (normalt er det i grader). Se i stedet Goossens et al. (2007) eller Reckdahl (2005).
B.7 Gemme/undersge indhold

A L TEX kan gemme noget indhold i en intern kasse, som s kan hentes frem, mles p og sttes ind igen. De relevante makroer er
\newsavebox \sbox \savebox \usebox

boksnavn } \sbox{\ boksnavn }{ indhold } \savebox{\ boksnavn }[ bredde ][ pos ]{ indhold }


\newsavebox{\ \usebox \begin{lrbox}{\

lrbox

boksnavn }

indhold
\end{lrbox}

Man skal huske p at nr (hvis overhovedet) man igen nsker at anvende indholdet igen, s skal man anvende \usebox for at f fat p den. Som eksempel, lad og se p hvordan man selv kan implementere noget der ligner boxedminipage.

358
Kapitlet er sidst opdateret 2010/03/02 16:59 (revision 612)

Gemme/undersge indhold
Eksempel B.14

\usepackage{calc}
slut preamble

\newsavebox{\mybox} \newenvironment{myboxedminipage}[1][\linewidth]{% \begin{lrbox}{\mybox}% \begin{minipage}{#1-2\fboxsep-2\fboxrule} \raggedright }{% \end{minipage}% \end{lrbox}% \fbox{\usebox{\mybox}}} \begin{myboxedminipage}[3cm] Noget tekst inden i en kasse af bredden 3cm minus polstringen af rammen omkring. \end{myboxedminipage}

Noget tekst inden i en kasse af bredden 3cm minus polstringen af rammen omkring.

Det er faktisk noget lignende dette vi anvender for at kunne fremvise eksemplerne i denne bog.

359

Appendix C

A L TEX-distributioner samt andre redskaber


A Denne bog koncentrerer sig om hvordan man bruger L TEX, ikke s meget om hvor man AT X fra eller hvilke redskaber man br bruge (eller i det mindste kende til). fr L E I dette kapitel vil vi kort skrive noget om dette emne, vi vil ikke g i detaljer (da der er materiale nok til endnu en bog), men i stedet give et par hints for at styre nye brugere i den rigtige retning. Der skal ikke herske nogen tvivl om at vi herfra anbefaler brugen af TEX Live p alle platforme. S har vi alle de samme redskaber og de virker p samme mde (via TEX Live til Linux og Windows, samt MacTeX til Mac OS X).

C.1

Linux

A Den eneste ordentlige L TEX-distribution til Linux er TEX Live. Det er den eneste som i dag bliver vedligeholdt. Man skal passe meget p med ikke at ende op med teTeX, som slet ikke opdateres, men som nogle Linux-distributioner stadig distribuerer. Den nemmeste mde at f TEX Live er ved at vre medlem af en TEX-brugergruppe, som i mange tilflde rligt giver en DVD til deres medlemmer.1 Se f.eks. http://www. tug.dk. Alternativt kan T X Live hentes p nettet, se http://www.tug.org/texlive/. E Da TEX Live ikke har noget med de enkelte Linux distributioner at gre skal man A ikke forvente at L TEX automatisk bliver opdateret via opdateringer til ens Linux 2 system. Fra om med TEX Live 2008, inkluderes programmet tlmgr som kan anvendes til lbende at opdatere en TEX Live installation, se http://tug.org/texlive/tlmgr.html.3 Bemrk at har man Perl/TK installeret s kan tlmgr kres som et nt grask program via tlmgr --gui. Det fungerer ganske godt, men vr opmrksom p at der vil vre visse pakker som mske kan ndes p ctan, men som ikke distribueres via TEX Live. Dette skyldes ofte licensen hvorunder materialet er frigivet.

tlmgr

TeX Live 2008 var den frste TeX Live med pakke manager (tlmgr). Det fungerede ret godt, men da man nede til at skulle i gang med TL2009 inds man at der var nogle ting som skulle laves bedre. Derfor frs man TeX Live 2008, sledes at denne ikke fr ere opdateringer. Har man derfor installeret TeX Live 2008, s bliver man ndt til at lave en ny installation med TeX Live 2009, se http://www.tug.org/texlive/. Man hber at intrastrukturen nu er i orden sledes at i 2010 kan man opgradere fra TL2009 til 2010 versionen uden at skulle geninstallere.
Sidebemrkning C.1 (TeX Live 2008).

Der er en TeX Live i Ubuntus repositories, men den er fra 2007! og dermed alt ret forldet. I skrivende stund skulle
Sidebemrkning C.2 (TeX Live i Ubuntu 1).

Fortsttes p nste side


1 I alle tilflde er det en god ide at sttte sin lokale T X-brugergruppe. E 2 Det sker ved nogle distributioner, men forvent ikke noget. 3 Det sker ikke automatisk, man skal selv ind og kre programmet, f.eks. en gang om mneden.

361
Kapitlet er sidst opdateret 2010/09/10 11:38 (revision 719)

A C. L TEX-distributioner samt andre redskaber

TeX Live 2009 vre p vej til Ubuntu experimental. Personligt vil vi nok anbefale at man installerer det selv udenom pakkehndteringsprogrammet. Gerne under en dertil indrettet bruger, evt. som en selv.4

Ubuntu anvender et begreb som A recommended software, dette betyder at forsger man at installere en L TEX centreA ret editor, s vil Ubuntu ogs installere L TEX. Det er jo lidt trls nr man lige selv har installeret TeX Live. Lsningen p dette ligger i noget Ubuntu kalder equivs, alts at man installerer noget som fr Ubuntu til at tror at noget kivalent til et bestemt produkt er blevet installeret. For detaljer for hvordan amn gr dette ved Ubuntu, se http://data.imf.au.dk/system/latex/artikler/tl2008_i_ubuntu.html.
Sidebemrkning C.3 (TeX Live i Ubuntu 2).

C.1.1

Rigtige editorer p Linux

Umiddelbart er det eneste krav til editorer at den skal gemme som tekst (ikke alle mulige underlige binre formater) og s vil det vre en god ide hvis den kan vise linie numre.
Kile

Anvendt af mange p Linux. Minder en del om f.eks. Led (beskrives senere). Har man installeret kile, br man supplere den med PDF-fremviseren kpdf.
TeXmacs

Alternativ til kile som ogs ndes til Windows.


TeXworks

Helt nyt editor projekt. Bygget over TeXShop som er meget populr p MAC. Ideen er at give nye brugere en helt skrabet editor uden spjse knapper til symboler eller andre ting som kan forvirre nye brugere. Denne editor inkluderer sin egen integrerede letvgts PDF-fremviser (som understtter hop mellem PDF og relevant linie i editoren). Husk at PDF-fremviseren i TeXWorks kun skal fremvise PDF-len. Den skal ikke, og kan ikke, anvendes til at printe PDF len. Her vil man i stedet anvende f.eks. Adobe Reader.
Sidebemrkning C.4.

TeXworks bliver skrevet til at kunne oversttes til alle platforme. Programmet kan installeres p Ubuntu via pakkemanageren, mens TeX Live 2009 samt MikTeX 2.8 automatisk isntallerer TeXWorks p Windows. Se mere p http: //www.tug.org/texworks/.
Emacs + auctex + reftex

Emacs er en legendarisk editor. Sammen med de to udvidelser auctex og reftex A har man en meget slagkraftig L TEX-editor. Som nybegynder er ulempen ved Emacs at den er meget anderledes end alt A man er vant til og har en indlringskurve p linie med L TEXs. S til helt nye brugere kan Emacs nok ikke anbefales. Har man tilgengld vnnet sig til Emacs
4 Nr TeX Live opdaterer sig selv henter den ler og programmer fra nettet, bl.a. opdateringer til sig selv.

I og med vi anbefaler at man selv installerer TeX Live, s vil vil ikke anbefale at man krer opdateringen (eller for den sags skyld installationen) som root.

362
Kapitlet er sidst opdateret 2010/09/10 11:38 (revision 719)

WYSIWYG editorer p Linux

s vil man ikke bruge andet. Skal man editere masser af forskellige dokumenter s er det et virkeligt godt redskab. Vim P linie med Emacs, bare lavet p en anden mde. Er mindst lige s svrt at starte med.
Eclipse
A Det kendte udviklingsvrktj Eclipse har ogs en plugin til L TEX.

C.1.2

WYSIWYG editorer p Linux

Her menes editorer som p en eller anden mde viser udseendet af f.eks. formler i selve editoren mens man skriver.
TeXmacs
A Det er en speciel videnskabelig editor som kan eksportere til L TEX. Se http: //www.texmacs.org/ for yderligere information. Denne editor kan bl.a. anvende forskellige matematiske programmer som plugins. Lyx Se http://www.lyx.org/. Lyx er en ren WYSIWYG editor som krver at man i forA A vejen har en rigtig L TEX-distribution installeret. Lyx gemmer ikke i L TEX-format, A A men kan eksportere til L TEX, samt i nogen grad importere L TEX-dokumenter. A nsker man at holde sig helt fra at skulle skrive noget som helst L TEX-kode, s kunne Lyx vre et alternativ. Lyx ndes ogs til MAC og Windows. A Det skal bemrkes at ide L TEX kan utroligt mange ting og nemt kan udvides til at gre nye ting, s er funktionaliteten i Lyx begrnset af hvad udviklerne har haft lyst til at inkludere. Desuden kan visse af de interfaces som anvendes i Lyx vre en smule uintuitive.

C.1.3

Ekstra fremvisere p Linux

I TEX Live har vi allerede en DVI-fremviser, nemlig den traditionelle xdvi. Andre fremvisere:
kpdf

Virkelig god basal PDF-fremviser med auto-opdatering ved ndring af PDF-len.


xpdf

Klassisk PDF-fremviser p Linux. Normalt fr man nogle andre nyttinge redskaber med i kbet nemlig pdfinfo, pdffonts og pdftops.5
evince

Standard fremviser p nyere Gnome installationer, kan s vidt vides fremvise et vld af forskellige formater.
ghostscript

gv

uundvrlig p Linux, er nsten altid installeret som standard. Giver bl.a. indmaden til ps2pdf samt epstopdf. Klassisk PostScript fremviser p Linux. Har en del r p bagen men fungerer nt. Alternativer med nyere interfaces: ggv (Gnome) og kghostview (KDE). Bedre kendt som Adobe Reader. Elsket og hadet af de este. Men der er alts stadigvk nogle ting som denne kan som de andre PDF-fremvisere ikke kan, f.eks.
5 pdftops har tit har reddet underlige PDF-er som ikke ville printe med f.eks. Adobe Reader.

acroread

363
Kapitlet er sidst opdateret 2010/09/10 11:38 (revision 719)

A C. L TEX-distributioner samt andre redskaber

mht. indlejret javascript. Tyngden samt en knudret reload som frst er kommet til i nyere versioner gr at de andre PDF fremvisere er mere anbefalelsesvrdige p Linux.

C.1.4

Andre redskaber p Linux

Et par redskaber som ogs kunne vre nyttige p Linux:


pdftk

Eller rettere PDF Toolkit. Godt kommandolinie vrktj til at manipulere PDFler.
Imagemagick

Denne er normalt en del af de este Linux-distriibutioner. Kort sagt lr at bruge convert. Rart at kende hvis man lige skal bruge en thumbnail af en PDF-l,6 eller skal konvertere noget fra TIF til PNG.
jepg2eps

Normalt vil en konvertering fra JPG til EPS via convert resultere i meget store ler. jpeg2ps virker bedre. Programmet kan hentes via http://www.pdflib.com/ download/free-software/jpeg2ps/.

C.2

MAC OS X

A Til MAC OS X er den mest anvendte L TEX-distribution: MACTEX. Hvilket er TEX Live plus redskaber s som editoren TeXShop. Se http://www.tug.org/mactex, TUG medlemmer kan f den som en del af TEX Live collection DVDen. Installationen foregr som ved alle andre MAC programmer gennem en almindelig MAC installer-l og er nok den hurtigste installation blandt Linux, MAC og Windows. Netop editoren TeXShop er super simpel og nem at anvende for nye brugere, kan ikke meget fancy, s er ikke noget til at forvirre brugeren. Desuden har TeXShop sin egen integrerede PDF-fremviser. Den nye multiplatforms editor TeXworks bygger netop p TeXShop-ideen. Som alternativ editor kan man nvne Aquamacs, hvilket er en omskrevet version af Emacs, som s passer ind i udseendet p MAC OS X. Ville formode at Eclipse ogs er tilgngelig p MAC. Mange redskaber som ndes til Linux ndes ogs til MAC, f.eks. ImageMagick.

preview

MAC har et fremviser program kaldet preview som sikkert er ganske udemrket. Vi har dog set meget spndende problemer med det som vi gerne vil advare imod: Har man fremvist en PDF i preview s undlad at gemme en kopi via preview. I ere tilflde har vi oplevet at de indlejrede fonte i PDF-len bliver totalt delagt sledes at len ser her anderledes ud nr man printer den. Desuden kan man godt undre sig over hvorfor programmet vil ndre indhodlet af PDF-len nr brugeren ikke har ndret noget.
Advarsel C.5.

6 F.eks. via convert -size x150 fil.pdf fil.png

364
Kapitlet er sidst opdateret 2010/09/10 11:38 (revision 719)

Windows XP/Vista/7

C.3

Windows XP/Vista/7

Her str valget i skrivende stund mellem MikTeX 2.8 samt TEX Live 2009. Valget er lidt smag og behag. MikTeX har i mange r vre dominerende til Windows og fungerer rigtigt godt. Tilgengld har den seneste TEX Live nogle redskaber som MikTeX ikke har, desuden kan MikTeX vre en smule underlig p Vista og 7, s anbefalingen herfra hedder TEX Live.
C.3.1 MikTeX 2.8

Man kan f MikTeX 2.8 p to mder: (1) Fra http://www.miktex.org, samt (2) via ProTeXt http://www.tug.org/protext. For de este brugere kan ProTeXt bedst anbefales. Her downloader man n l som s indeholder MikTeX 2.8, editoren TeXnicCenter samt vrktjerne GhostScript og GSView.
ProTeXt installation

Installationen af ProTeXt er utrolig nem: (i) Hent ProTeXt-xx.exe. Det er et selv-udpakkende ZIP-arkiv. Pak den ud ved bare at kre len. (Herefter kan ProTeXt-xx.exe slettes). (ii) I biblioteket som blev skabt, krer man Setup.exe. (iii) Dette bner en PDF-l i Adobe Reader og resten af installationen foregr gennem denne. (iv) Har man en gammel MikTeX-installation s kan man desuden anstallere denne gennem den fremviste PDF-l. (v) Under installationen af MikTeX anbefales p det kraftigste at man vlger den fulde version af MikTeX. I den lille (basale) version af MikTeX er der alt for mange interessante pakker som mangler og derfor skal installeres frste gang man nsker at bruge den. Det er velkendt at installationen af MikTeX kan tage ret lang tid. Afst mindst 45 minutter.

Justering efter installationen

Efter installationen er der lige et par ting som skal gres. (a) MikTeX kender ikke til dansk opstning, s det skal man manuelt sl til.7
Start Programmer MikTeX 2.8 Settings, vlg fanebladet Languages og srg for at der er ueben udfor danish. Svar ja/ok hele vejen ud igen. (b) 8 FiXme Ddelige: f tjekket papir settings i miktex 2.8 og om der skal juste-

res ved ghostscript (c) Da ProTeXt indeholder et snapshot af MikTeX s er MikTeX sikkert blevet opdateret siden. S vi skal lige bede MikTeX om at opdatere sig selv. Start
7 Man kan nemt se hvis den danske opstning ikke er med, L T X lister de kendte sprog som noget af det AE

frst i .log-len nr man overstter et dokument.

8 FiXme Ddelige: f tjekket papir settings i miktex 2.8 og om der skal justeres ved ghostscript

365
Kapitlet er sidst opdateret 2010/09/10 11:38 (revision 719)

A C. L TEX-distributioner samt andre redskaber

ge: Frste gang opdateres programmerne (f.eks. selve opdateringsprogrammet), anden gang henter den de opdaterede pakker. Vr beredt p at det kan tage sin tid at lave opdateringen. Det anbefales at man selv krer opdateringen fra tid til anden, s man altid har de nyeste pakker og andre opdateringer.
C.3.2 TEX Live 2009

Programmer MikTeX 2.8 Update. Dette skal man som regel kre to gan-

Man kan f TEX Live 2009 p to mder: Via en DVD fra sin lokale TEX-brugergruppe9 , eller ved at installere den via internettet (se http://www.tug.org/texlive/). TEX Live vis som standard installere alt og anvender automatisk A4-papir til f.eks. dvips.10 Man skal vre forberedt p at installationen kan tage lidt tid, isr hvis man har en meget emsig anti-virus. Har man tidligere installeret TEX Live 2008, anbefales man at anstallere denne og installere TEX Live 2009 i stedet. Af forskellige rsager har man besluttet at der ikke skal vre ere opdateringer til TEX Live 2008.
Sidebemrkning C.6 (TEX Live 2008).

Har man installeret TEX Live 2009 s kan man f hurtig hjlp til en pakke ved gennem kommandoen Kr at udfre f.eks. texdoc memoir, s fr man Wilson (2010) op i Adobe Reader. P Vista kan man bare skrive kommandoen i sgefeltet i start-menuen.
Tip C.7.

C.3.3

Rigtige editorer p Windows

Hermed menes editorer hvor det normalt er teksten man sidder og retter p og ikke graskereprsentationer af f.eks. matematik. Der er mange editorer til Windows, her er et udvalg
TeXworks

Helt ny editor, baseret p samme princip som TeXShop p MAC. Installeres automatisk af MikTeX 2.8 samt TEX Live 2009. Tip: Det er en god ide at man under Edit preferences typesetting A stter pdflatex til at vre standard L TEX-program (ved en fejl er den i TEX Live 2009 belvet sat til pdftex). Husk ivrigt at hjreklikker man i TeXWorks PDF-fremviser s kan man hoppe tilbage til det relevante sted i kildekoden og omvendt. Husk at PDF-fremviseren i TeXWorks kun skal fremvise PDF-len. Man kna ikke vre sikker p at den faktisk kan printe len. Her vil man i stedet anvende f.eks. Adobe Reader.
Sidebemrkning C.8.

9 Hvilket naturligvis anbefales, om ikke andet s for at sttte arbejdet. 10 Man skal dog fortsat huske a4paper -optionen til klassen.

366
Kapitlet er sidst opdateret 2010/09/10 11:38 (revision 719)

Rigtige editorer p Windows

Indtil videre har vi haft mange tilfredse brugere som er startet med TeXworks. Et godt rd er at srge for at alt man laver kan hndteres af pdflatex, i.e. man skal primrt vre opmrksom p ekstern grak. Husk ogs at TeXWorks som standard gemmer i UTF8, s husk
\usepackage[utf8]{inputenc}

Eksempel C.1

eller ndr den til f.eks. ISO-8859-1 (latin1), s der det nemmere at arbejde sammen med TeXnicCenter brugere. Desuden er det forholdsvist nemt at installere dansk stavekontrol i TeXWorks. Den bruger de samme ler som TeXnicCenter, men bedre.
TeXnicCenter //www.toolscenter.org/.

Dette er editoren som kommer med ProTeXt, men kan ellers hentes via http: Den kan vre en smule underlig. A Desvrre skal man pt. selv fortlle TeXnicCenter hvor L TEX er, ved en MikTeX er det normalt i C:\programmer\MikTeX2.8\miktex\bin\, man browser bare derned via browse-knappen. Fra ere sider er den danske stavekontrol blevet kritiseret som vrende mangelfuld. Men det er jo ikke noget problem at installere ere editorer, ogs lave stavekontrollen i en anden editor, f.eks. TeXworks udstyret med dansk orddeling.11

Led

Eller LaTeXEditor, se http://www.latexeditor.org. Kan vre en smule overvldende for nye brugere pga. alle de knapper den viser frem som standard samt at nogle af ikonerne ikke umiddelbart giver mening. Det meste kan dog skjules. Tilgengld har den en god hjlp mens man skriver, f.eks. med syntaks forklaring af gngse makroer. Har sin egen hemmelige DVI-fremviser.12 God overskuelig velopbygget editor som ogs ndes til Mac og Linux. Se http: //www.xm1math.net/texmaker/. Den er mindre god at bruge til store projekter.

TeXMaker

Texmacs

Se http://www.texmacs.org/
Emacs + auctex + reftex

Kan ogs fs til Windows. Er f.eks. inkluderet (med auctex og refTeX) p TEX Live DVDen under texlive/tlpkg/support (tryk p Explore DVD nr DVD interfacet kommer frem). Har man ikke lyst til at sttte TEX-brugergrupperne13 s kan den ogs downloades via http://www.tug.org/texlive/Contents/live/tlpkg/ support/Emacs+AucTeX-W32/emacs-23.1+auctex-11.85-w32.zip. Man skal bare pakke zip-len ud, i bin biblioteket skal man s kre kommandoen runemacs.exe for at starte Emacs. Emacs og auctex (og refTeX) kan hentes via henholdsvis http://www.gnu.org/ software/emacs/ og http://www.gnu.org/software/auctex/. Det er dog ikke helt nemt manuelt at installere auctex p Windows.
11 Sjovt nok fungerer njagtigt samme ordliste bedre i TeXworks end i TeXnicCenter. . . 12 FiXme Ddelige: som som pt. bedst virker sammen med MikTeX, ved ikke lige hvad der skal til for at f det 13 Hvilket man naturligvis br.

til at virke med TEX Live

367
Kapitlet er sidst opdateret 2010/09/10 11:38 (revision 719)

A C. L TEX-distributioner samt andre redskaber

Hvis man anvender Emacs med AUCTEX p Windows sammen med MiKTEX, s kan det vre en god ide at tilfje flgende linie til sin .emacs-kongurationsl
(require 'tex-mik)

Dette vil kongurere AUCTEX til at blive kongureret til at anvende en MiKTEXinstallation (bl.a. med yap i stedet for xdvi).
Eclipse

Findes ogs til Windows. For de mere eventyrlystne har Brian Elmegaard nvnt at flgende Emacs version skulle vre nemmere at bruge for Windows brugere (f.eks. mere Windows-agtige genveje). http://ourcomments.org/Emacs/EmacsW32Util.html. Den kommer dog ikke med AUCTEX prinstalleret, s det m man selv gre, se http: //article.gmane.org/gmane.emacs.windows/3374/match=auctex+emacsw32. Det forlyder desuden at den nye Emacs 22 skulle vre bedre i denne henseende.
Sidebemrkning C.9.

C.3.4

Fremvisere

Sumatra PDF

P Windows har alle Adobe Reader installeret. Det er en ganske n PDF-fremviser, men A har visse ulemper som gr den meget lidt attraktiv i det daglige L TEX-arbejde. Vi anbefaler at man i stedet anvender den alternative PDF-fremviser Sumatra PDF, den er naturligvis gratis og kan hentes fra http://blog.kowalczyk.info/software/ sumatrapdf/. Fordelen med Sumatra PDF er at den lser ikke len, man bner sin PDF-l i Sumatra PDF og lader en bare kre. Nr man s skifter til Sumatra PDF s srger den selv for at genindlse PDF-len hvis den er ndret og fremvise den side man i forvejen er p. Man kan endda kongurere sin editor til at f Sumatra PDF til at gre meget skumle ting (f.eks. hoppe fra PDF tilbage til den tilsvarende kildekode).14 Til fremvisning af prsentationer anbefales det fortsat at anvende Adobe Reader (den kan stadigvk visse tricks).
C.3.5 Sumatra PDF som fremviser i TeXMaker eller TeXnicCenter

Srg for det frste for at man har mindst version 1.01 af Sumatra PDF. Har man det vil vi her forklare hvordan man kongurerer de to nvnte editorer til at bruge Sumatra PDF som fremviser, og s de genanvender Sumatra hvis den allerede er ben. Flgende er testet p en Win7 Pro.
TeXMaker

Justeres via Options Congure TeXMaker, vi skal rette i feltet Pdf Viewer. Start med at vlge browse sledes vi kan fortlle TeXMaker hvor Sumatra PDF ndes. Det er oftest i Programmer eller Program Files, i underfolderen SumatraPDF. Det kunne resultere i "c:/ProgramFiles/SumatraPDF/SumatraPDF.exe", efter dette tilfjes
-reuse-instance %.pdf

husk mellemrummene.
14 Sprg mig ikke hvordan man gr.

368
Kapitlet er sidst opdateret 2010/09/10 11:38 (revision 719)

TeXnicCenter

TeXnicCenter

Her gr vi gennem Build Dene Output Proles. . . . Vlg LaTeX => PDF og g til fanebladet Viewer. Igen starter vi med at stte Path of executable, metoden er som beskrevet ved TeXMaker. Herefter skal man under View projects output, markere punktet Commandline argument og i tekstfeltet skriver man
-reuse-instance %bm.pdf

igen skal man huske mellemrummet. Herefter skal man i den nederste gruppe markere
do not close

S burde begge editorer vre justeret sledes at nr man beder om en viewer til PDF s fr man Sumatra PDF.
C.3.6 Andre redskaber

Printerdrivere

Mange Windows programmer er ikke gearet til at gemme f.eks. gurer i formater som A er velegnet til L TEX. F.eks. er det ikke vildt godt at anvende PNG som format til en stregtegning (isr ikke hvis denne skal skaleres op). Og man kan ofte ikke gemme i PDF-format med mindre man har Adobe Destiller installeret. Der ndes alternativer. Man kan installere virtuelle printere, dvs. printere som faktisk printer til en l. EPS http://www.adobe.com/support/downloads/product.jsp?product=44&platform=
Windows

PDF En Google sgning giver http://www.primopdf.com/ og http://www.pdf995.com/ som steder hvor man kan nde en gratis PDF-printerdriver.
15

15 FiXme Note: tjek resten af denne l (skjult)

369

Appendix D

Om fejlmeddelelser
Som nybegynder er en af de mest frustrerende ting at lre at forst de forskellige fejlmeddelelser man kommer ud for. Vi vil i dette kapitel forklare nogle af de mest almindelige af dem. Yderligere fejlforklaringer kan f.eks. ndes i Mittelbach og Goossens (2004), appendix B. Det vil ogs vre en god ide at kigge FAQen igennem, se pdf-versionen af FAQ (2007), kapitlerne TV er ret s informative.
D.1 Fejlmeddelelser

makro allowed only in math mode man har anvendt et symbol eller en makro i den almindelige tekst, men den m kun anvendes i matematikmode.
\begin{

env } on input line nummer ended by \end{ andet env } denne ser man ogs ofte hvis man skriver det hele pr. hndkraft. Reglen er at enhver \begin{ env } skal afsluttes af en tilsvarende \end{ env }. Situationer s som \begin{ env1 } . . . \begin{ env2 } . . . \end{ env1 } . . . \end{ env2 } m ikke forekomme. m normalt kun anvendes indeni oat-environments. Se dog afsnittet 6.4.1, side 144.
\caption

\caption outside float

Command

navn already defined kommer nr man via \newcommand vil oprette en ny makro, men det valgte navn er allerede i brug.

Command

navn invalid in math mode forekommer nr man skriver noget i matematik som kun m anvendes i den almindelige tekst, f.eks. , , eller . Skriv dem i stedet med \text{ tekst }, eller \textup{ tekst }.

Double super/subscript

som nvnt tidligere (se afsnit 3.4) m man f.eks. ikke lave x_i_j der mangler {}-er.
Environment

name undefined gt selv. Tjek om man har stavet det rigtigt, eller har husket at loade den pakke environmentet kommer fra. fejlen er lige hvad den siger.

Extra }, or forgotten $

Dog ikke altid. Denne meddelelse kan man ogs f hvis man har anvendt en skaldt skrbelig (fragile) makro i argumentet til en bevgelig makro. Dette kan vre \caption eller \sections. Se http://www.tex.ac.uk/cgi-bin/texfaq2html? label=extrabrace for mere information vedrrende denne fejl.
371
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

D. Om fejlmeddelelser

Extra alignment tab has been changed to \cr

ses ofte i tabeller (eller eqnarray, split) hvor man har anvendt ere &-er p en linie end der skulle vre. Problemet er ofte at man har glemt en \\ i rkken fr.
Extra \right

den tilsvarende fejl af at have glemt en \left.


Float(s) lost

her er man kommet til at placere en oat (gure eller table) et sted hvor man ikke kan placere noget som yder, eksempelvis inden i en minipage, \parbox, \marginpar eller \footnote. Det kan vre en ret svrt at nde tilbage til det sted hvor det er get galt. Husk ogs at \marginpar og \footnote faktisk ogs er oats. Dette betyder at man ikke kan placere en \marginpar inden i en \footnote. Pas ogs p med kontruktioner som f.eks. skjuler at den anvender en \marginpar, eksempelvis \fixme (her kan man komme ud over det via inline option til \fixme).
Graphics division by zero

Dette kommer som oftest hvis man har drejet en inkluderet gur samtidigt med at man stter hjden. Alt efter hvor meget man har drejet kan disse beregninger ende op med at g galt. Anvend i stedet totalheight-optionen til \includegraphics i stedet for height.
Illegal parameter number in definition of

command som nvnt i et andet kapitel anvendes tegnet # num til at angive hvor de enkelte parametre skal anvendes i en makrodenition. Denne fejl kan forekomme hvis de makroer man har angivet ikke anvender det rigtige antal argumenter. Se eksempel D.1.
\newcommand\test[1]{#1 og s #2}

Eksempel D.1

Her er fejlen naturligvis, at [1] jo angiver at denne makro kun har t argument, hvorfor #2 ikke giver mening. Bemrk dog at man godt kan have makroer som bliver deneret med f.eks. brug af #1 men hvor man ikke har angivet noget antal af argumenter. I et sdant tilflde fungerer det faktisk idet makroen anvendes indeni en anden makro som s srger for at stte #1 til en brugbar vrdi.
Illegal unit of measure (pt inserted).

Misplaced alignment tab character &

angiver at man har stavet en lngde enhed forkert, eller mske har man anvendt -syntaksen, som man fr via calc-pakken, et sted hvor denne ikke kan anvendes.

denne forekommer nr man anvender & udenfor de omrder hvor & anvendes til at angive alignment (eller adskille sjler). Har man brug for tegnet & s anvend \& i stedet.
Missing $ inserted

skyldes oftest at man har forsgt at anvende noget i den almindelige tekst som ellers kun ndes i matematikmode. Et eksempel kunne vre _ som i stedet skrives med \_ eller det kan vre et symbol. Hvis man er ved at angive et lnavn hvori der indgr _, da kan \path fra url-pakken vre en fordel. Her m man gerne anvende _. Dette kan ogs skyldes at man er kommet til at efterlade en blank linie i et environment til fremhvede formler det m man nemlig ikke.
372
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

Fejlmeddelelser

Missing \begin{document} {}-er

ses ofte nr man har lavet en fejl i preamble, kunne vre man har glemt nogle et sted i preamble. man har her brugt \left, \right eller en af \bigerne p noget som ikke kvalicerer som en delimiter (hegn).

Missing delimiter ( . inserted)

Missing \right . inserted


A man har glemt den tilhrende \right til en \left. Bemrk at den som L TEX indstter er den blanke delimiter \right..

Multiple \labels: label

tekst will be lost man m kun have en label pr. nummereret formel (nr man anvender amsmath). Standard TEX har kun plads til et bestemt antal tllere. Har man indlst en masse ekstra pakker s kan man nemt komme i bekneb (ses ofte i forbindelse med memoir -klassen). Lsningen er at anvende udvidelsen eTEX. Det gr de este allerede, men man skal lige aktivere de ekstra tllere, hvilket kan ske ved at tilfje
\RequirePackage{etex}

amsmath

No room for new \count

fr \documentclass linien, verst i sit dokument.


No room for new \dimen

Eksempel D.2

Samme som ovenfor, nu bare vedr. lngder. Lsningen er den samme.


No room for new \write (eller) \read

TEX har kun plads til at kunne skrive til 16 ler samtidigt, dvs. holde 16 ler bne samtidigt for at kunne skrive i dem. Den kan ogs kun lse fra 16 ler samtidigt. Der er ikke noget at gre i dette tilflde. Dog kan man nogle gange opdage at nogle af de ler som der skrives til slet ikke skal bruges til noget. F.eks. vil pakken ntheorem lave en .thm-l som man ofte ikke behver. Finder man sdanne, kan man forsge at omdenere noget pakke kode (i sin preamble) sledes at denne l allokering ikke kommer til at nde sted.
Runaway argument

her har man sandsynligvis glemt en afsluttende } et sted. Meddelelsen ndes i mange varianter.
TEX capacity exceeded

forklaring A I forklaringen vil man ofte se at L TEX forslr at man fr forget hukommelsen i A TEX. I 95 % af tilfldene skyldes denne fejl ikke at L TEX mangler hukommelse, A men i stedet en makrofejl eller manglende indsigt i hvordan L TEX virker. (i) Ved makrofejl, er det ofte en drligt designet makro som giver problemet. F.eks. hvis der er kommet en situation med rekursion som ikke stopper. A (ii) En anden fejl som er set et par gange er at man glemmer at L TEX arbejder med teksten et afsnit ad gangen. Men der er en grnse for hvor lange afsnit A der kan vre i L TEXs hukommelse. Her lses problemet naturligvis ved at srge for at starte nye afsnit. P det seneste var der en person som ville lave en lang adresse liste. Hvert st af adresse oplysninger var pakket ind i en minipage, s de ikke blev delt over en side. Men vedkommende havde glemt A at starte et nyt afsnit efter hver adresse, s L TEX lb tr for hukommelse,
373

Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

D. Om fejlmeddelelser

da den blev ndt til at lse hele dokumentet ind i hukommelsen fr den begyndte at kigge p linie- og sideombrydninger.
Theres no line here to end

ses ofte nr folk gerne vil have en ekstra blank linie, den laver de s ved at indstte \\ to gange eller f.eks. efter en paragraf, environment eller blank linie. Det er bare brugerens drlige vane. Oftest har disse blanke linier ikke nogen berettigelse.
Too deeply nested
A ses i forbindelse med nestning1 af enumerate eller itemize. L TEX listerne kan kun nestes ned til niveau 4.

Too many unprocessed floats


A betyder at L TEX har haft mere end 18 oats liggende i hukommelsen som den ikke har kunnet placere. Kunne f.eks. vre forrsaget af en meget stor oat som sprrer det hele for en masse sm. Indst evt. en \FloatBarrier eller \clearpage et sted. Eller prv at anvende det ekstra argument til \begin{figure} etc. Kan ogs skyldes at man har anvendt for mange \marginpars i en paragraf (der m hjest vre 9!).

Undefined control sequence

er nok den aller mest almindelige fejlmeddelelse man kommer ud for betyder at en makro man har anvendt ikke ndes. Ofte skyldes det bare at man har stavet det forkert eller har glemt et mellemrum. Fejlmeddelelsen indeholder ogs information om hvor fejlen er, ofte endda et udsnit af teksten hvori man for det meste kan nde makroen som er forkert.
\verb ended by end of line

argumentet til en \verb skal st p samme linie!


\verb illegal in command argument

m ikke anvendes i argumenter til andre makroer. Se evt. fancyvrb for hjlp til alligevel at kunne gre noget lignende.
\verb You cant use macro parameter # in ...

man har sandsynligvis glemt at # n anvendes til at angive parametre med i makro denitioner nskede man at skrive # anvendes \# i stedet.
You cant use \spacefactor in vertical mode

denne fejl skyleds oftest at man har prvet at lave om p en makro hvor der indgr @ i navnet og man samtidigt ikke har gjort opmrksom p at man ved hvad man gr. Lsning, st et \makeatletter. . . \makeatother-par omkring.
You havent defined the language

sprog yet denne fejl ses ofte nr man lige har skiftet sprogopstning p et allerede kompileret dokument, f.eks. fra danish til english. Fejlen skyldes at babel skriver sprogopstningen til .aux-len, s nu har man et dokument som siger at den skal anvende english men .aux-len siger at den skulle anvende danish. Lsning: Kompiler n gang mere s overskrives .aux-len og problemet forsvinder.

Extra alignment tab has been changed to \cr. \endtemplate ...

Dette betyder ofte at man har en konstruktion hvor man har speciceret ere sjler end konstruktionen kan klare. F.eks. understtter pmatrix normalt hjest 10 sjler. Noget man dog kan ndre, se Bemrkning 3.30.

1 At neste betyder at man har en konstruktion lavet inden i en konstruktion af samme type.

374
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

Advarsler

D.2

Advarsler

Vi har ikke tnkt os at sige s meget vedrrende warnings, bare lidt om de advarsler de este kommer ud for. A L TEX advarsler er p formen
LaTeX Font Warning: Font shape `U/stmry/b/n' undefined (Font) using `U/stmry/m/n' instead on input line 17.

Eller det kan vre direkte fra pakker. Desuden har man de to meget almindelige advarsler/informationer
Overfull \hbox (4.28769pt too wide) in paragraph at lines 189--195 \T1/cmr/m/n/10.95 man ved hvad man gr. Ls-ning, st et []\T1/cmtt/m/n/10.95 \ makeatlet-ter[][]\T1/cmr/m/n/10.95 ...[]\T1/cmtt/m/n/10.95 \makeatother[][]\T1/ cmr/m/n/10.95 -

og
Underfull \hbox (badness 10000) in paragraph at lines 189--189

Der kan ogs vre tale om underfull \vbox


D.2.1 Ikke helt s alvorlige advarsler

Font advarsler

Font relaterede advarsler kan man normalt bare ignorere. De skyldes oftest at man har anvendt en blanding af form, familie og serie (shape, family og series) som den nuvrende skrifttype ikke understtter. F.eks. har Computer Modern ikke nogen fed skrivemaskine variant. Man ser normalt ogs sjldent en sans serif font som har small caps.
Underfull advarsler
A De to underfull advarsler vedrrende \hbox og \vbox skyldes at L TEX har set sig ndsaget til at strkke tingene mere end den selv har syntes om. A Underfull \hbox med en badness p under 10000 betyder at L TEX er blevet ndt til at strkke strrelsen p ordmellemrummet til en sdan grad at man faktisk kan se det. A Det ses ofte i litteraturlister. Badness-tallet viser hvor slet L TEX mener det er, jo hjere vrdi, jo vrre er det. Vrdien 10000 er det maksimale. De ses ofte nr folk har vret slemme og har lavet flgende konstruktion
tekst tekst\\ tekst

Eksempel D.3

Dette er virkeligt slemt og vi ser desvrre en del brugere som anvender denne konstruktion. Hvilket er rsagen til at vi slet ikke omtaler tvungen linieskift i teksten. Det er slet ikke noget man har brug for og man skal derfor holde sig fra det. I de f tilflde hvor man gerne ville indskyde en blank linie for at starte p noget nyt, s kan man anvende
\fancybreak{} % eller \fancybreak{$*\quad*\quad*$}

Eksempel D.4

375
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

D. Om fejlmeddelelser

hvis man alts anvender memoir -klassen. Dette med at ville have en blank linie mellem afsnit, hrer ikke hjemme i god typogra og nsket herom er en vane man br agge sig hurtigst muligt. Afstand mellem afsnit er noget som er tilladeligt i lyrik, breve og opslag/posters. A Underfull \vbox kommer nr L TEX bliver ndt til at strkke afstanden mellem elementerne p siden for at opn en fast hjde p alle sider. Der er to almindelige rsager (a) En afsnitstitel (\section etc.) er kommet for tt p bunden af en side og yttes derfor om p nste side. Men s m siden jo strkkes for at opn den korrekte hjde. Med memoir -klassen kan dette afhjlpes ved at placere flgende i preamblen
Eksempel D.5
\raggedbottomsectiontrue

S vil denne side lbe kort i stedet for at blive strakt, det ser pnere ud.
A (b) Den anden almindelige rsag er lngere matematiske udregninger. L TEX bryder sig ikke om at starte en side med et matematisk udtryk, s her vil f.eks. align ytte udtrykket om p nste side, hvilket efterlader nuvrende side strakt A mere end L TEX kan lide. Det er ofte ogs ret tydeligt. Man har umiddelbart to muligheder: (i) Skrive teksten om sledes at tingene enten er fyldt bedre ud eller s udregningen kan vre p siden. (ii) Eller hvis man gr fra en venstre- til en hjreside, s kan man overveje at dele udregningen over to sider, se afsnit 4.2.6. Det noget man helst br holde sig fra, og det m aldrig anvendes ved sideskift fra en hjreside til en venstre.

D.2.2

Advarsler som man br rette

Man br i hvert fald srge for at de er rettet i den endelige version af dokumentet.
Labels og citeringer

Vi har allerede set p labels og citeringer og de meddelelser de kan give. Her er frst et udvalg til labels
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right. LaTeX Warning: Label `key' multiply defined. LaTeX Warning: There were multiply-defined labels. LaTeX Warning: Reference `key1' on page 1 undefined on input line 6. ... LaTeX Warning: There were undefined references.

Samt et par stykker til citeringer (her i en situation hvor vi har anvendt pakken natbib):
Package natbib Warning: Citation `foo' on page 218 undefined on input line 284. Package natbib Warning: There were undefined citations.

Dette er naturligvis ting man altid skal udbedre inden man aeverer sit frdige dokument.
376
Kapitlet er sidst opdateret 2010/10/18 16:30 (revision 726)

Den notoriske overfull \hbox

Den notoriske overfull \hbox

Denne advarsel er den mest almindelige advarsel og der er ingen som undslipper den. Bemrk at man med klasseoptionen draft kan f vist de overfull \hboxe markeret med sorte kasser i hjremargin. Advarslen betyder at her er noget som er blevet for langt til at kunne vre p linien. A Dette kan enten vre tekst som L TEX ikke kan orddele, hvilket s kommer ud som
Overfull \hbox (18.68895pt too wide) in paragraph at lines 6--7 \T1/cmr/m/n/10 hn-gende st-

A dvs. L TEX fortller hvor stor overskridelsen er samt den fortller hvor de steder den kunne lave orddeling l i dette tilflde. Man fr desuden at vide i hvilke liner (sdan nogenlunde) i kildekoden problemet ndes. Lsningen er her at g ind og hjlpe med orddelingen, enten via \- eller ved at skrive lidt af teksten om. Overskridelser lavet med matematik ser cirka ud p samme mde. Generelt kan man sige at overskridelser p op til 34 pt godt kan accepteres, man A kan f L TEX til kun at brokke sig over overskridelser p over 3 pt via \hfuzz, placr bare flgende i preamblen:
\hfuzz=3pt

\hfuzz

Eksempel D.6

377

Appendix E

Kommentarer
E.1 Intent to indent

Helt tilbage i starten af bogen nvnte vi at vi p det kraftigste frarder at man fjerner afsnitsindenteringen og anvender luft mellem afsnit i stedet. Lad os forklare hvorfor. At skrive en opgave har to forml: (i) At demonstrere at man kan lse en given opgave, og (ii) demonstrere, at man kan kommunikere dette p en forstelig vis. Det er det andet forml som er i spil her. Lseren m aldrig komme i tvivl om hvad skribenten mener med teksten. Hele humlen er hvordan lseren kan se om der et givet sted i teksten er nyt afsnit. For ere hundrede r siden var der ikke noget problem, man skrev ud i en kre (pergament var dyrt) og markerede nyt afsnit med . Nogle gange ville man endda markere mellemrum via . Er der tale om ren tekst, er det ikke noget problem at man markerer starten af et nyt afsnit med en blank linie, men generelt gr det galt. I de flgende eksempler skal man forestille sig at man str over for et dokument uden afsnitsindentering samt hvor der er luft mellem afsnit. bla bla bla. Stning lige efter en liste. . . Er der nyt afsnit efter en liste (der er jo luft efter)?
Et billede.
Eksempel E.2 Eksempel E.1

Figur 1: En gur Fra gur 1 ses. . .

Er der nyt afsnit fr den sidste stning? a2 + b 2 = c 2 . Starten p en ny stning. . . Er der nyt afsnit her? Her er s et eksempel p at tolkningen af en stning kan vre helt forskellig alt efter om der er nyt afsnit fr stningen eller ej:
Eksempel E.3

379
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

E. Kommentarer

Eksempel E.4

et helt afsnit Et andet afsnit . . . bla . . . bla . . . sideskift Pas p, i det foregende afsnit er der en graverende fejl!! Hvilket afsnit henvises der til? Problemet er her at pga. lngden af den sidste linie fr sideskiftet kan man ikke afgre om der er nyt afsnit som det aller frste p nste side. Dette er naturligvis et tnkt eksempel, men viser et reelt problem ved at fjerne afsnitsindenteringen. Skribenten kan ikke vre sikker p at lseren forstr teksten p samme mde som skribenten. Konklusionen er alts at det er ret nemt at komme med tvetydige eksempler hvis man fjerner afsnitsindenteringen. Er man uheldig kan man ende op med to forskellige meninger, alt efter om der antages at der er nyt afsnit eller ej. Den eneste konstruktion som fjerner denne tvivl er: Afsnitsindenteringen, og det er netop derfor dette er A standarden i L TEX. Nogle vil s anvende afstand mellem afsnit plus afsnitsindentering, men det er jo redundant information, indenteringen fortller allerede at vi starter p noget nyt, s er der ikke nogen grund til at understrege dette ved at smide en blank linie ind. Synes man bliver for kompakt uden afstand mellem afsnit, s br man i stedet overveje om det ikke er en ide at forsge den generelle linieafstand en smule i stedet, se afsnit 9.6.5. Man kan komme med to supplerende kosmetiske argumenter mod afstand mellem afsnit: Det forger kunstigt lngden af dokumentet og spilder dermed undigt papir. Det fr teksten til at fremst som en punktopstilling (prv at trde et par skridt vk fra skrmen) frem for en sammenhngende tekst. . . . stningen ender her.

E.2

Hjlp min vejleder vil have min afhandling i Word!

Hvorfor er det lige at han/hun vil det? Normalt er forklaringen et af flgende: (i) Vejlederen nsker at komme med kommentarer. (ii) Vejlederen nsker at rette noget og han/hun anvender alts kun Word. Vedr. (i) s kan man give vejlederen en PDF og bede vedkommende at anvende Adobe Acrobat Pro til at skrive kommentarer med.1 (ii) er mere slem, hvorfor er det lige at vejlederen nsker at rette noget i teksten? Hvem er det der skal skrive afhandlingen? Den studerende eller vejlederen? Hvis vejlederen selv vil ind og rette i teksten s br han/hun jo komme med som medforfatter!2
1 Faktisk kan man sagtens lave kommentarer i en PDF med den gngse Adobe Reader, men det krver at

len frst er lst op via Adobe Acrobat Pro (som desvrre er det eneste program som kan tillade generel kommentering af PDF-ler). Visse andre programmer hvder at kunne lgge kommentarer ind i len, men det er s vidt vides kun Adobe Acrobat Pro som generelt kan lse kommenteringsfeaturen op.

2 FiXme Ddelige: tilfj links til features som kan anvendes til at konvertere til word

380
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Matematik bemrkninger

E.3

Matematik bemrkninger

Dette afsnit omhandler sm nurligheder folk er kommet ud for og som vi derfor lige vil vende s andre ogs er klar over dem. Afsnittet er kun ment for de interesserede.
Lidt mere om align til hjre for lighedstegn

Vi har tidligere nvnt at nsker man at aligne med align, men til hjre for f.eks. et lighedstegn, i stedet for det mere normale, til venstre. S skal man huske at indstte nogle {}-par p udvalgte steder. Hvorfor nu det? For bedre at illustrere begrundelsen har vi forstrret det almindelige mellemrum omkring =.
\begin{align*} X = & X\\ & + X\\ = & X \end{align*} versus \begin{align*} X = {} & X\\ & + X\\ = {} & X \end{align*}

=X +X =X

Eksempel E.5

versus X = = X +X X

Luften fr og efter = br vre den samme.


Matematisk mellemrum mellem symboler
A Vi har tidligere set at L TEX selv srger for at indstte det rigtige mellemrum mellem de forskellige symboler, operatorer osv. Desvrre er dette ikke helt rigtigt. Der er et par eksempler hvor man bliver ndt til at hjlpe til selv. Et eksempel er:3
\begin{gather*} \sin \circ h \end{gather*}

sin h

Eksempel E.6

som man kan se er mellemrummet mellem og h forkert. Forklaringen er som flA ger. Teknisk set deler L TEX matematikken op i otte grupper4 og tildeler spacingen efter deres indbyrdes rkkeflge. I vores sammenhng er det kun grupperne Ord(inary), Op(erator), Bin(ary) og Rel(ation) som er interessante. Den specielle regel er, at et Bin symbol i visse kombinationer internt laves om til en Ord, fordi dette Bin symbol parret med det foregende ikke giver logisk mening at stte ved siden af hinanden. Blandt de re typer vi ser p, er de problematiske kombinationer OpBin, BinBin, RelBin og BinRel. Alts giver det ikke mening (ud fra et logisk synspunkt) at stte \sin (Op) ved siden af \circ (Bin), hvorfor \circs type ndres til Ord og da h ogs er Ord, kommer der intet mellemrum mellem dem.
3 Indrapporteret af Rasmus Villemoes. 4 Se Mittelbach og Goossens (2004), side 524526 specielt tabel 8.7.

381
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

E. Kommentarer

Eksempel E.7

\mathbin \mathop \mathord \mathrel

Men for en matematiker er der jo ingen forskel, (sin h)() er jo bare funktionssammenstningen sin(h()). Lsningen, hvad angr spacingen, er at tvinge h eller \sin over i en anden gruppe. Dette gres via \mathbin, \mathop, \mathord eller \mathrel. I vores eksempel skal vi anvende \mathord{\sin}.
\begin{equation*} \mathord{\sin} \circ h \end{equation*}

sin h

De re kommandoer ovenfor kan ogs anvendes i mange andre sammenhnge. F.eks. benyttes symbolet (\square) til tider som operator eller som binr operation, men x y ($x\square y$) har forkert spacing som en binr relation, s man kan jo lave sin egen version hvor man ndrer s klasse til Bin.
Eksempel E.8
\begin{gather*} x\mathbin{\square} y\quad \text{vs.}\quad x \square y \end{gather*}

vs. x y

Forkert mellemrum efter \left( eller \big(

Mads Srensen har gjort opmrksom p at det modsatte alts for meget spacing, ogs forekommer. Dette kan anvendes som argument til altid at srge for at anvende l og r varianterne af \big makroerne.
Eksempel E.9
\begin{gather*} \sin\big( \qquad\text{vs.} \qquad \sin\bigl( \end{gather*}

sin

vs.

sin

Problemet er her at \big( ikke klassiceres som et Open objekt, men som en Inner, se Mittelbach og Goossens (2004), hvilket igen betyder at \sin (med rette) indstter ekstra spacing hvilket vi kan se er forkert i dette tilflde. Problemet forekommer specielt ved brug af \left. . . \right-konstruktioner. Det genrerelle rd er at man ved sm strrelser skalerer manuelt, og ved store gr mellemrummet ikke s meget. Hvis man er meget pernittengryn, s kan man anvende
Eksempel E.10
\begin{gather*} \sin\mathopen{}\left(\frac{1}{2}\right) \qquad \text{vs.}\qquad \sin\left(\frac{1}{2}\right) \end{gather*}

sin

1 2

vs.

sin

1 2

E.4

Makrobemrkninger

Vi har allerede nvnt at kigger man i kildekoden til forskellige pakker s vil man ofte se makroer s som \def, \edef etc. Det er ogs bemrket at disse br man ikke anvende medmindre man direkte ved hvad man gr. Anvend i stedet \newcommand eller lignende. Der er dog en ting som man kun kan lave via \def, nemlig specielle afgrnsede argumenter. Antag f.eks. at vi ville lave en smart makro til at lave en retteliste til en bog som denne. Her er et forslag:

382
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

A Lidt om ltyperne anvendt af L TEX

% #1 = hvor % #2 = hvem kom med rettelsen % #3 = fejlen % #4 = det rigtige \def\rettelse#1 by #2 : #3 -> #4\par{% #1\quad(#2):\quad >>#3<< rettes til >>#4<<\par\noindent } \noindent \rettelse s. 2005, l. 45 by daleif : hest -> sel \rettelse s. 2006, l. 32 by daleif : $a+b$ -> $A+B$

Eksempel E.11

s. 2005, l. 45 s. 2006, l. 32

(daleif): (daleif):

hest rettes til sel a + b rettes til A + B

Tricket her er brugen af \par som en del af argument specikationen. \par er det den A blanke linie laves om til nr L TEX lser koden. S \rettelse lser faktisk et helt afsnit. S hvis man bare srger for at have blanke linier mellem sine rettelser, s kan man uden problemer have ret lange rettelser. Bemrk ogs at by , : samt -> er en del af argumentet, de er afgrnsere (inklusive mellemrummene). Dette er et af de sm tricks man kan lave hvis man forstr lidt mere vedrrende TEX-makroprogrammering. Men det er langt ude over grnserne for denne bog.
E.5
A Lidt om ltyperne anvendt af L TEX

A A Nr man arbejder med L TEX vil man opdage at L TEX faktisk laver en hel del forskellige ler. Her vil vi lige opsummere betydningen af nogle af disse ler. A L TEX l (kildekode til dokument eller del af et dokument). A .aux Den vigtigste l L T X anvender (ud over selve dokumentkildekoden), den anvenE des bl.a. til at holde informationer om krydsreferencer og citeringer, mellem de A enkelte L TEX-oversttelser. A .dvi Binrt output format fra standard-L T X. E .ps PostScript-l. .pdf PDF (portable document format)-l. .log Forskellige former for informationer om oversttelsen, mere udfrlig end den A man ser som output fra L TEX. .toc Ekstern datal til indholdsfortegnelsen. .lof Samme type, bare til listen over gurer. .lot Samme type, til listen over tabeller. .sty Udvidelsespakker, se afsnit 1.6.3. .cls Dokumentklasseler, se afsnit 1.6.2. .dtx Dokumenteret kildekode til pakker eller klasser. .ins Driver l til at f den rensede pakke/klasse kode ud af en .dtx l. Krer man A L TEX p en .ins l fr man .sty-len hevet ud af .dtx-len. .bbl Litteraturliste lavet via BibT X. Se afsnit 8.3. E .idx R uformateret index data (indekser behandles ikke yderligere i denne bog). .ind Formateret index.

.tex

383
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

E. Kommentarer

Filtype som anvendes af comment-environmentet. .end Endnotes skrives til denne l.


.out
A Der er desuden mange andre ltyper i spil blandt de ler som L TEX og venner gr brug af. Specielle pakker kan sagtens anvende deres helt egne eksterne ler til et eller andet. I skrivende stund har dette dokuments masterl, 16 forskellige lendelser.

E.6

Lidt om de pakker som anvendes til at lave denne bog

Beskriver kun de oentligt tilgngelige pakker som er anvendt til denne bog.
amsmath

bedre matematik
afterpage

til at indstte noget kode direkte efter den nuvrende side


babel

f.eks. dansk opstning af standard ord. Ivrkstter desuden orddelingsmnstrene.


berasans

en anden type sans serif


beramono

tilsvarende for mono-space font


bm

ordentlig fed matematik. S man f.eks. kan f et fedt x i den rigtige form (kursiv). Kan desuden gre symboler fede, selv om de ikke ndes i en fed version.

calc mulighed for at lave beregninger direkte i f.eks. \setlength caption color

til kongurering af hvordan captions ser ud5 farver, til f.eks. links ved hyperlinks, samt baggrunde ved kode eksempler og overskrifter.

comment

til at kunne udkommentere store stykker tekst, jeg anvender det normalt ikke ret meget, da min editor, nemt kan udkommentere store omrder med % i starten af alle linier.
csquotes

pakke som giver en sprogafhngige makro til hndtering af anfrselstegn.


dlfltxbmarkup

giver makroen \markup som anvendes i bogen til at skrive ngleord/pakkenavne/etc. i teksten, margin og i indekset samtidigt.
dlfltxbmisc

forskellige makroer anvendt i bogen. F.eks. til at give { tekst } eller


dlfltxbcodetips

nr vi nu har lavet en pakke til at holde nogle centrale kodetips, s kan vi lige s godt selv gre brug af pakken.
dlfltxbtocconfig

pakken som hndterer den mde vi stter indholdsfortegnelserne op


enumitem

bedre kontrol over standardlisterne.


A etex L TEX har et begrnset antal tllere, lngder etc. til sin rdighed. Denne pakke forger

bl.a. dette antal

5 FiXme Note: s vidt jeg ved loader vi faktisk slet ikke caption pakken direkte, men gennem subg

384
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Lidt om de pakker som anvendes til at lave denne bog

fix-cm

Computer Modern (og andre skrifttyper) i vilkrlige strrelser. Nogle gange er den brugbar og andre gange er den ikke. Burde kunne erstattes med pakken anysize.
fixltx2e
A retter forskellige bugs i L TEX-kernen. Denne pakke br man altid bruge ved strre projekter.

fixme

noter til en selv


fontenc

gr at nu er rigtige bogstaver, og tillader dermed orddeling efter


graphicx

inklusion af ekstern grak samt metoder til at forstrre tekst samt rotere eller spejle
hyperref

gr at alle krydsreferencer, citeringer og indholdsfortegnelser bliver lavet om til interne hyperlinks. Alle \url makroer bliver til eksterne hyperlinks. Giver desuden andre features til hyperlinks.
ifsym

ere tekstsymboler, se evt. Pakin (2003).


inputenc

tillader direkte brug af bl.a. i teksten


keyval

anvendes internt i diverse pakker til at kunne give ngle = vrdi -syntaks
kpfonts

skrifttypen anvendt i denne bog. Giver bde matematik og tekstfonte, hvilket er forklaringen p hvorfor vi ikke anvender amssymb i opstningen af denne bog.
lipsum

giver adgang til en masse dummy tekst.


listings

til behandling af kildekode


longtable

tabel som kan side ombrydes


mathtools

ekstra matematik konstruktioner


mflogo

giver logoerne \MF (METAFONT) og \MP (METAPOST)


microtype

forskellige mikrotypograske eekter


multicol

giver bl.a. environmentet multicols som man kan benytte til at skrive i ere kolonner inde midt i ens dokument. Ogs anvendeligt til posters.
natbib

udvidede citerings muligheder


ntheorem

til opstning af stninger


paralist

ere ekstra typer lister, indlst sledes at den ikke rrer de originale lister.
placeins

giver \FloatBarrier
ragged2e

giver pendanter til f.eks. \raggedright og \raggedleft som tillader en hvis grad af orddeling. Meget anvendeligt hvis man i en tabel har en sjle med tekst over ere linier.
385
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

E. Kommentarer

soul kan blandt andet give letterspacing (i.e. tekst hvor der er forget afstand mellem bogsta-

verne)
stmaryrd

ere matematiske symboler


svn-multi

giver adgang til Subversion data indlagt i kildelerne. Vi anvender blandt andet dette til at give oplysningerne om hvornr de enkelte kapitler sidst er blevet opdateret. Det skal dog siges at den version som anvendes til bogen er en speciel version som Martin Scharrer har stillet tilrdighed. Denne udgave anvender ikke eksterne ler til at gemme data.
subfig

under-nummerering af gurer, bemrk at denne pakke automatisk loader pakken caption.

varioref

lettere intelligente krydsreferencer


textcomp

tekstsymboler
threeparttablex

udvidelse til threeparttable, til noter i tabeller.


url

giver \url til at skrive URLer med. Er i stand til at linieombryde URLer p en hensigtsmssig mde.
A egen udviklet pakke (nu ogs tilgngelig via ctan), tillader L TEX at tage kopier af tekst-ler. Den anvendes internt i en anden (endnu) ikke-oentlig pakke til at lave de eksempel-ler man kan downloade.

verbatimcopy

xparse
A parser pakke til L TEX3 syntaks. Gr det meget nemmere at lave makroer med komplekse argumenter, s som {}[]{}[]....

xspace

giver makroen \xspace som kan srge for at en makro som anvendes i teksten, og som ikke tager et argument, nu faktisk ikke spiser et eventuelt mellemrum efter makroen. Jeg har deneret en \ctan makro sledes:
Kodetip E.1
\newcommand\ctan{\textsc{ctan}\xspace}

E.7

Ordbog

Dette er en miniordbog over nogle af de termer vi anvender i bogen.


Master Et master-dokument eller master-l, er det doA kument som kan overstter med L TEX. I mange tilflde er dette bare en enkelt l, men ved strre projekter vil masteren inkludere kapitler fra eksterne ler. A Bemrk at de este gode editorer til L TEX, kender til master-begrebet, dvs. de kan kongureres sledes at sidder man og skriver i et kapitel, og s nsker at overstte dokumentet, da ved editoren hvilken l den skal overstte i stedet for den nuvrende l. Tekstblok Typogrask set er tekstblokken det omrde hvori selve teksten bender sig. Det er et rektangel af bredde \textwidth og hjde \textheight. Disse to lngder man kan henvise til, men man br ikke ndre dem per hndkraft (med mindre man har meget god grund til det). Overstte A Betegnelse for det at fodre en L TEX-variant med et dokument. Til tider kan oversttelsen ogs involvere brug af BibTEX eller makeindex. Kompilere Se overstte. Environment Navn for en konstruktion som indenfor et begrnset omrde kan ndre hvordan tingene ser ud

386
Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

Pakker som ikke anbefales

eller opfrer sig. Af pdagogiske rsager anvender man normalt ikke den danske oversttelse milj. Header/footer Er den engelske betegnelse for det vi p dansk normalt kalder sidens hoved og fod. Disse er normalt placeres udenfor tekstblokken. Pagestyle A Det koncept som i L TEX styrer hvordan sidehoved og -fod skal se ud. Inline Nr noget str indeni noget andet (dansk: indlejret). Vi anvender det mest vedrrende matematik for at skelne mellem matematik skrevet blandt ordene i den almindelige tekst samt matematik som er fremhvet p linier for sig selv. Klasse A L TEXs pendant til skabeloner. Pakke Samling af makroer som udvider funktionaliteten A i L TEX, eller som omkongurerer dele af den. Editor Program man anvender til at skrive tekst med. Teksteditor Se editor. Typesetting System A Dette er den engelske betegnelse for hvad L TEX faktisk er. Det danske ord tekstbehandlingssystem passer bedre med den engelske betegnelse Word processor. Udfra den engelske betegnelse kan man A lre at det L TEX gr er det samme som trykkere gjorde i gamle dage nr de skulle stte bger op. A L TEX gr bare dette elektronisk.

Cropning Er en fordanskning for den engelske betegnelse for at beskre et billede eller lignende. Crop marks Dette er noget man kan tilfje sit dokument for at markere hvor papiret skal beskres. Dette anvendes oftest nr papirstrrelsen er mindre end f.eks. A4. Alignment Kan oversttes med justering p en linie, i vores tilflde er der oftest tale om en vertikal linie. Letterspacing Betegner afstanden mellem bogstaverne i et ord. Normalt er denne nul, men til visse eekter sttes den op. Prex Dette er noget man skriver fr noget andet. De ler som vi anvender til at lave de eksterne eksempler med hedder alle sammen noget med ext-master- , dette er deres prex. Postx Svarende til prex bare skrevet i slutningen. Option Engelsk ord for valgmulighed, skriver ofte det engelske ord fordi det er kortere. Upright Vi anvender betegnelsen upright vedrrende skrifttyper til at betegne det som ikke er kursiv. En god dansk oversttelse er opretstende, men da den A tilsvarende L TEX-kommando er \textup anvender vi oftest det engelske upright. Sub- eller superscript Et andet ord for hhv. snket eller hvet skrift.

E.8

Pakker som ikke anbefales

Dette er en liste over pakker som vi ikke anbefaler brugen af. Enden fordi pakken ikke distribueres mere eller fordi der er kommet en ny pakke som er smartere. Er man glad for at bruge en pakke af ldre dato og gerne vil fortstte med det, s gr man naturligvis bare det.
subfigure

er overhalet af subfig-pakken. Husk ogs at visse klasser har deres egne systemer til subnummerering af delgurer.
t1enc

brug i stedet \usepackage[T1]{fontenc}, om ikke andet s er det noget klarere at se hvad der sker. Desuden er det nemmere at skifte font encoding hvis det er ndvendigt.
isolatin1

pakken distribueres slet ikke mere. Brug \usepackage[latin1]{inputenc}, s er det ogs hurtigt at skifte til utf8-encoding om ndvendigt.
a4

brug a4paper -klasseoption i stedet. Det er der ere pakker som kan drage nytte af.
387

Kapitlet er sidst opdateret 2010/08/03 15:24 (revision 710)

E. Kommentarer

a4wide

lr selv at stte marginerne op. S er de nemmere at rette bagefter.


glossary

brug glossaries i stedet. Langt mere kongurerbar.


numprint

funktionalitet overtaget af siunitx


sistyle

funktionalitet overtaget af siunitx


siunit

funktionalitet overtaget af siunitx


epsfig

selv om syntaksen er fuldt kompatibel med graphicx, s anbefales det at man anvender graphicx og \includegraphics for en mere standardiseret tilgang til ekstern grak.
psfig

distribueres ikke mere, s gamle dokumenter som anvender psfig vil ikke kunne A kompileres med de nye L TEX-distributioner. Har man anvendt \psfig syntaksen i et gammelt dokument, s kan man f dokumentet til at overstte igen ved at erstatte \usepackage{psfig} med \usepackage{epsfig}.
latexsym

pakken er irrelevant, og tbelig da den optager et helt matematikalfabet for bare A 11 symboler (L TEX kan kun udnyttet et begrnset antal matematikalfabeter).
ae

irrelevant i dag hvor vi har ordentlige fontst. Da den blev skrevet tilbage i 90erne var der en del problemer med nogle af standardfontene. samme grund som for ae

aecompl times

stter ikke matematikfonten, og skalerer sans serif fonten forkert. Hvis man absolut vil bruge times6 s anvend pakken mathptmx.
mathptm

brug mathptmx i stedet.


pslatex

virker lidt som mathptmx men anvender en meget smal Courier.


palatino

mangler matematik, brug mathpazo eller kombiner i det mindste palatino med eulervm.

6 Anbefales ikke

388

Appendix F

Skabeloner

hele kapitlet skal skrives om og er derfor pt. deaktiveret /daleif


Alle vore skabeloner vil vre baseret p memoir -klassen. Den frste skabelon er velegnet til aeveringer. Vi har tilfjet et lille memoir -trick, sledes at hvis aeveringen er p n side, s kommer der ikke noget sidetal.
\documentclass[a4paper,11pt,oneside]{memoir} % lidt marginer \setlrmarginsandblock{3cm}{*}{1} \setulmarginsandblock{3cm}{*}{1} \checkandfixthelayout[nearest] % stadard dansk opsaetning \usepackage[latin1]{inputenc} %bogstaver; andre: ansinew, applemac eller utf8 \usepackage[danish]{babel} % dansk opstning \renewcommand\danishhyphenmins{22} % fikser babel fejl \usepackage[T1]{fontenc} \usepackage{lmodern} % lidt bedre CM font \usepackage{amsmath,amssymb,bm,mathtools} % god matematik % fjerne automatisk sidetallet hvis kun een side i alt \AtEndDocument{% \ifnum\value{lastsheet}=1\thispagestyle{empty}\fi} % sidetal nederst hvis der er et sidetal \pagestyle{plain} % fjern automatisk nummerering af \section og venner \setsecnumdepth{none} \begin{document} \author{Forfatter navn} \title{Titel} \date{Min dato} \maketitle \section{Opgave 3456} Denne opgave er s triviel at det er en fornrmelse mod mit intellekt at skulle svare p dette sprgsml! \end{document}

Skabelon F.1

templates/opgave1.eps is missing

Nste skabelon er den samme som skabelon F.1, med den ndring at vi i stedet skriver forfatter info i headeren.
\documentclass[a4paper,11pt,oneside]{memoir} % lidt marginer \setlrmarginsandblock{3cm}{*}{1} \setulmarginsandblock{3cm}{*}{1} \setheadfoot{2cm}{\footskip} % mere hjde til header \checkandfixthelayout[nearest] % stadard dansk opsaetning \usepackage[latin1]{inputenc} % , andre: ansinew, applemac eller utf8 \usepackage[danish]{babel} % dansk opstning \renewcommand\danishhyphenmins{22} % fikser babel fejl \usepackage[T1]{fontenc} \usepackage{lmodern} % lidt bedre CM font \usepackage{amsmath,amssymb,bm,mathtools} % god matematik % fjerne automatisk sidetallet hvis kun een side i alt \AtEndDocument{% \ifnum\value{lastsheet}=1\thispagestyle{empty}\fi} % lgger info i header i stedet, vi piller ved plain og justerer empty \makeoddhead{plain}{Aflevering 5\\Mit Navn -- 12345678}% venstre side {side \thepage\ af \thelastpage}%

Skabelon F.2

fortsttes
389
Kapitlet er sidst opdateret 2010/10/31 00:38 (revision 741)

F Skabeloner .

Skabelon F.2 fortsat

{Calculus 2\\\today}% hoejre side \makeheadrule{plain}{\textwidth}{\normalrulethickness} \copypagestyle{empty}{plain} % vi soerger lige for at fjerne sidetallet ved empty \makeoddhead{empty}{Aflevering 5\\Mit Navn -- 12345678}% {}{Calculus 2\\\today} \makeoddfoot{empty}{}{}{} \begin{document} \section*{Opgave 3456} Denne opgave er s triviel at det er en fornrmelse mon mit intellekt at skulle svare p dette sprgsml! \end{document}

templates/opgave1b.eps is missing

390

Litteratur og pakkeinformation

ctan, kort for Comprehensive TEX Archive Network er et samarbejde hvor pakkeforfattere og andre placerer deres ler s andre kan f glde af dem. Adressen er http://www. ctan.org. Det er her pakkerne i MiKTEXs og TEX Lives pakkemanagere stammer fra, og kun herfra. Bemrk dog at det ikke er alle pakker man kan f gennem en pakkemanager. Der kan vre licens konikter eller forfatterens eget nske, som stter en begrnsning p hvorvidt en pakke m tages med. Disse pakker m man s installere pr. hndkraft. De este af URLerne herunder er p formen CTAN: sti , dette skal oversttes til http://mirror.ctan.org/ sti . I PDF-udgaven er der dog tale om et aktivt link med den rette adresse. Man anvender mirrors for at mindske trykket p den centrale CTAN server, hvorp stien ogs er en smule anderledes. AMS, Users Guide for the amsmath Package, American Mathematical Society, 1999. A Flger med enhver L TEX distribution under navnet amsldoc.
CTAN: /macros/latex/required/amslatex/math/

AMS, Using the amsthm Package, American Mathematical Society, 2. udgave, 2004. A Flger normalt med L TEX distributionen som amsthdoc.pdf.
CTAN: /macros/latex/required/amslatex/classes/

Donald Arseneau, placeins.sty, 1999. Pakken som giver \FloatBarrier, lidt brugerinformation ndes i placeins.sty. Der er ogs kommet en simpel brugermanual placeins.txt p ctan. CTAN: /macros/latex/contrib/placeins/ Donald Arseneau, truncate.sty, 2001. Denne pakke giver forskellige muligheder for automatisk at forkorte tekst, f.eks. i et sidehoved. Pakken ndes via ctan og brugervejledningen ndes i starten af truncate.sty.

CTAN: /macros/latex/contrib/misc/

Donald Arseneau, cite.sty, 2003a. Pakken cite giver bl.a. sammentrkning af nummeriske citeringer. Som altid, ved denne pakkeforfatter, nder man brugsvejledningen i slutningen af len cite.sty. CTAN: /macros/latex/contrib/cite/ Donald Arseneau, framed.sty, 2003b. Brugervejledningen til denne pakke ndes i toppen af len framed.sty. Bemrk ivrigt at hele denne pakke er bygget direkte ind i memoir -klassen. CTAN: /macros/latex/contrib/misc/ Donald Arseneau, threeparttable.sty, 2003c. Brugervejledningen str i selve len.
CTAN: /macros/latex/contrib/misc/

Donald Arseneau, url.sty, 2003d. Brugervejledningen til denne pakke ndes i toppen A (og bunden) af len url. Pakken er en standard del af enhver L TEX distribution.

CTAN: /macros/latex/contrib/misc/

Donald Arseneau, varwidth.sty, 2003e. Giver et minipage-lignende environment som selv justerer sin bredde ned til at passe med indholdet.
391

CTAN: /macros/latex/contrib/misc/

Litteratur og pakkeinformation

Donald Arseneau, chapterbib.sty, 2009. Pakke som gr det muligt at lave litteraturlister for kapiptler. Nyttigt for ph.d.-afhandlinger samt f.eks. til proceedings. Brugermanualen ses i selve .sty-len. CTAN: /macros/latex/contrib/cite/ Jens Berger, The jurabib package, 2004. Pakke til at lave litteraturlister indenfor f.eks. humaniora, baseret p BibTEX. Se desuden http://www.berger-on.net/jurabib/ hvor man vil nde mange forskellige eksempler p brugen af jurabib.
CTAN: /macros/latex/contrib/jurabib/

Javier Bezos, The titlesec and titletoc Packages, 2002. Brugervejledning til isr titlesecpakken. CTAN: /macros/latex/contrib/titlesec/ Javier Bezos, Customizing lists with the enumitem package, 2007. Brugermanual for enumitem-pakken. Gldende for version 2. CTAN: /macros/latex/contrib/enumitem/ Preben Blsild og Jrgen Granfeldt, Statistics with applications in biology and geology, Chapman & Hall/CRC, 2003. Johannes Braams, Creating a mailing, 1994. Simpel pakke til at lave nsten enslydende breve. CTAN: /macros/latex/contrib/mailing/
A Johannes Braams, Babel, a multilingual package for use with L TEXs standard document classes, 2005. Bruger og implementationsmanual for \babel-pakken.

CTAN: /macros/latex/required/babel/

Robert Bringhurst, The Elements of Typographic Style, Hartley & Marks, 2002, 2. udgave. Version 2.5. David Carlisle, The hhline package, 1994. Brugervejledning og dokumentation ndes i hhline.pdf. CTAN: /macros/latex/required/tools/
A David Carlisle, The afterpage package, 1995. Pakken en en standard del af L TEX og giver mulighed for af indstte noget som det aller frste p nste side.

CTAN: /macros/latex/required/tools/

David Carlisle, blkarray.sty, 1999a. Pakke til at give specielle array og tabel konstruktioner. Forklaring vedrrende selve brugen ndes i blkarray.sty. Spjst nok kan A man faktisk f en n formateret version hvis man krer L TEX p blkarrray.sty og bare trykker Enter ved alle fejlene. CTAN: /macros/latex/contrib/carlisle/
A David Carlisle, Packages in the graphics bundle, 1999b. Flger med enhver L TEX distribution under navnet grfguide. Indeholder f.eks. information om brugen af color- og graphicx-pakken. CTAN: /macros/latex/required/graphics/

David Carlisle, The keyval package, 1999c. Pakke til at give key = value option syntaks. For at f dokumentationen m man kompilere keyval.dtx. Se ogs pakken xkeyval.
CTAN: /macros/latex/required/graphics/

A David Carlisle, The tabularx package, 1999d. Pakken er en standarddel af enhver L TEX installation. CTAN: /macros/latex/required/tools/

David Carlisle, The colortbl package, 2001a. Pakken giver support for farver i tabeller.

CTAN: /macros/latex/contrib/colortbl/

A David Carlisle, The ifthen package, 2001b. Er en standard del af enhver L TEXinstallation, med dokumentation ifthen.pdf.

392

Litteratur og pakkeinformation

A David Carlisle, The longtable package, 2004. Pakken er den standard del af L TEX distributionerne. Manualen hedder normalt longtable.pdf.

CTAN: /macros/latex/required/tools/

David Carlisle, The xr package, 2006. Pakke som gr det muligt at referere til labels i A eksterne dokumenter. Pakken er den del af L TEX-tools bundtet og derfor en del af A enhver L TEX-installation. CTAN: /macros/latex/required/tools/ Chicago, The Chicago manual of style, The University of Chicago Press, 15. udgave, 2003. Steven Douglas Cochran, The subg Package, 2004. Pakken anvendes til at angive subnummerering af gurer, samt subcaptions. Subfig aser den tidligere subfigure pakke. CTAN: /macros/latex/contrib/subg/ Patrick W. Daly, Customizing Bibliographic Style Files, 2003a. Dokumentationen til programmet makebst. Dokumentationen fortller ikke s meget om hvordan programmet anvendes, se i stedet Mittelbach og Goossens (2004) afsnit 13.5.2. Det er desuden en god ide at kigge p len merlin.mbs som er driverlen til custom-bib og makebst. Kompileres denne l fr man yderligere forklaring om brugen.
CTAN: /macros/latex/contrib/custom-bib/

Patrick W. Daly, Natural Sciences Citations and References, 2003b. Manual til pakken A natbib, flger normalt med L T X distributionen, men kan ellers ndes via ctan. E Brugermanualen fs ved at kompilere natbib.dtx.
CTAN: /macros/latex/contrib/natbib

A Michael Downes, Short Math Guide for L TEX, American Mathematical Society, 2002. Kort introduktion til amsmath. URL: http://www.ams.org/tex/amslatex.html

Victor Eijkhout, comment.sty, 1999. Brugerguiden til denne pakke ndes i form af kommentarer i starten af comment.sty. CTAN: /macros/latex/contrib/comment/ Victor Eijkhout, TEX by TopicA TEXnicians Reference, Addison-Wesley, 2001. Bogen er skrevet i 1991, men nu udsolgt fra forlaget. Forfatteren har i stedet overtaget alle rettigheder og har herefter stillet bogen frit til rdighed. Bogen er et godt alternativ hvis man nsker at lre mere om TEX. URL: http://www.eijkhout.net/tbt/
A FAQ, UK-TUG L TEX FAQ, 2007. FAQ over de almindeligste sprgsml. FAQen kan desuden downloades som pdf. URL: http://www.tug.org/faq/ A Simon Fear, Publication quality tables in L TEX, 2003. Manual til pakken booktabs som hjlper med at give pnere tabeller. Findes som booktabs.pdf. Manualen er desuden vrd at lse for dens diskussion af hvordan man designer tabeller. Funktionaliteten af pakken er desuden indbygget i memoir -klassen.

CTAN: /macros/latex/contrib/booktabs/

Melchior Franz, The soul package, 2003. Pakken soul kan give tekst hvor afstanden mellem bogstaverne er strre end normalt, samt give en anden metode til understregning af tekst, hvor denne metode faktisk understtter at teksten automatisk kan deles over ere linier. CTAN: /macros/latex/contrib/soul/ Federico Garcia, opcit a package for footnote-style bibliographic references, 2006.
393
CTAN: /macros/latex/contrib/opcit/

Litteratur og pakkeinformation

A Michel Goosens, Sebastian Rahtz og Frank Mittelbach, The L TEX Graphics Companion Illustrating documents with TEX and PostScript, Addison-Wesley, 1997, ISBN 0-20185469-4.

Michel Goossens, Frank Mittelbach, Sebastian Rahtz, Denis Roegel og Herbert Vo, A The L TEX Graphics Companion, Addison-Wesley, 2007, 2. udgave, ISBN 978-0-32150892-8. Helt ny bog. Meget strre og mere omfattende end den frste version fra 1997. Blandt andet str der en del om METAPOST, PSTRICKS og X -pic. Y
A Michel Goossens, Frank Mittelbach og Alexander Samarin, The L TEX Companion, Addison-Wesley, 1993, ISBN 0-201-54199-8.

Alexander Grahn, The animate package, 2008. Pakke som kan anvendes til at lave forskellige typer animationer til f.eks. prsentationer.

CTAN: /macros/latex/contrib/animate/

Michael Grant, David Carlisle og Craig Barratt, psfrag.sty and psfrag.pro, 1998. PakA ken psfrag anvendes til at placere L TEX kode i stedet for ngleord i eps-ler. Manualen hedder pfgguide.pdf. CTAN: /macros/latex/contrib/psfrag/
A A Enrico Gregorio, Horrors in L TEX: How to misuse L TEX and make a copy editor unhappy. TUGboat, 26(3), 2005. Artikel med en masse rdselseksempler, god lektie.
URL: http://tug.org/TUGboat/Contents/contents26-3.html

Thorsten Hansen, The multibib Package, 2004. Pakke til at lave emneopdelt litteraturliste. CTAN: /macros/latex/contrib/multibib/ Patrick Happel, lipsum access to 150 paragraphs of Lorem ipsum dummy text, 2005. Pakken giver adgang til en masse fyld tekst som man frit kan benytte.
CTAN: /macros/latex/contrib/lipsum/

Harald Harders, Multilingual bibliographies: The babelbib package, 2009. Pakke som i modstning til de este BibTEX-stiller giver brugeren mulighed for at styre specialordene. CTAN: /biblio/bibtex/contrib/babelbib/ Emil Hedevang, Serres spektralflge: med henblik p opsten og opbygning, Bachelorprojekt, Institut for Matematiske Fag, Det Naturvidenskabelige Fakultet, Aarhus Universitet, 2004. Forendes ved henvendelse p bibliotekskontoret samme sted. Det specielle ved denne er at den faktisk er skrevet i plain TEX, hvorimod specialet A (Hedevang, 2006) er skrevet i L TEX, via memoir -klassen. Flot bachelorprojekt som viser hvad man kan opn hvis man tager sig tiden til det. Emil Hedevang, Homologi af dikubestier: et forsg p homologi af kombinatoriske monotone stier med henblik p anvendelse af algebraisk topologiske metoder inden for samtidigt samvirke, Speciale, Institut for Matematiske Fag, Det Naturvidenskabelige Fakultet, Aarhus Universitet, 2006. Forendes ved henvendelse p bibliotekskontoret samme sted. Som ved bachelorprojektet (Hedevang, 2004) af samme forfatter, et godt eksempel p et gennemfrt design. Carsten Heinz, The listings Package, 2004. Pakken listings er uundvrlig, nr det kommer til kildekode fremvisning. Understtter et hav af forskellige programmeringssprog. CTAN: /macros/latex/contrib/listings/ Martin Hensel, The mhchem Bundle, 2005. Gldende for version 2.
394
CTAN: /macros/latex/contrib/mhchem/

Litteratur og pakkeinformation

Morten Hgholm, EmpheqEmphasized Equations, 2008a. Dokumentationen til empheq CTAN: /macros/latex/contrib/mh/ pakken. Morten Hgholm, Mathtools, 2008b. Dokumentationen til mathtools-pakken.
CTAN: /macros/latex/contrib/mh/

Klaus Hppner, Introduction to MetaPost, i TUGBoat The Communications of the TEX Users Group, bind 30:2, pp. 209213, The TEX Users Group, 2009. Indtil 11. oktober 2010 er artiklen kun tilgngelig for medlemmer af TUG. Herefter kan ndes ndes via linket herunder. URL: http://tug.org/TUGboat/Contents/contents30-2.html
A Indian TEX Users Group, L TEX TutorialsA Primer, 2003.
URL: http://www.tug.org.in/tutorials.html

Szsz Jnos, The algorithmicx package, 2005. Brugermanualen for seneste version af algorithmicx-pakken. CTAN: /macros/latex/contrib/algorithmicx/ Jens Ledet Jensen, Et Nanokursus i Statistik, Institut for Matematiske Fag, 2007. Statistikbog for Nano-studerende, designet og sat op af Lars Madsen. Bogen kan bruges som illustration af: Brugen af Utopia og Fourier tekst- og matematikfontene, brugen af dkblad og forside samt brugen af et lidt andet design til forsiden p omslaget. Bogen kan ses/kbes i Stakbogladen, Naturvidenskab, Aarhus Universitet. Arne Jrgensen, Dk-bib danske varianter af BibTEXs standardstilarter, 2006. Gldende for version 0.6 maj 2006. CTAN: /biblio/bibtex/contrib/dk-bib/ Manuel Kauers, gauss.sty A Package for Typesetting Matrix Operations, 2002. Udover pakkemanualen man nder i linket her under, kan man tage et kig i Herbert Vos artikel om pakken gauss, artiklen er godt nok p tysk, men eksemplerne er gode. Artiklen ndes her: CTAN: /info/math/voss/gauss/. CTAN: /macros/latex/contrib/gauss/
A Uwe Kern, Extending L TEXs color facilities: the xcolor package, 2006. Pakke som giver A udvidet farvesupport i L TEX, i.e. ere muligheder end color-pakken.

CTAN: /macros/latex/contrib/xcolor/

Donald E. Knuth, The TEXbook, Addison-Wesley, 1986, ISBN 0-201-13447-0.


A Markus Kohm og Jens-Uwe Morawski, KOMA-Script a versatile L TEX 2 bundle, 2006. Bruger vejledning til KOMA-Script klasserne. Manualen ndes ofte under navnet scrguien.pdf. CTAN: /macros/latex/contrib/koma-script/ A A Jrgen Larsen, IMFUFA-L TEX, 2006. IMFUFA-L TEX er nogle forskellige dansk udviklede dokumentklasser baseret p memoir -klassen. Klasserne indeholder desuden A andre sm guldkorn som gr dansk L TEX nemmere.
URL: http://dirac.ruc.dk/imfufalatex/

John Lavagnino, endnotes.sty, 2003. Pakken giver muligheden for endnotes, hvilket er det samme som fodnoter, men som i stedet printes samlet til slut. Brugervejledning ndes som kommenterer i sterten af endnotes.sty. Philipp Lehman, The Font Installation Guide, Findes p ctan, 2004. Fremragende eksempel p at en teknisk manual sagtens kan se pn ud.
395

CTAN: /macros/latex/contrib/misc/

CTAN: /info/Type1fonts/fontinstallationguide/

Litteratur og pakkeinformation

Philipp Lehman, The csquotes package, 2006. Pakke til intelligente anfrselstegn. Versionen 3.4 er fra april 2006. CTAN: /macros/latex/contrib/csquotes/ Philipp Lehman, The etoolbox package, 2009. Pakke som Lehman (2010) er bygget over. Giver mange spndende vktjer til makroskribenter.
CTAN: /macros/latex/contrib/etoolbox/

Philipp Lehman, The biblatex package, 2010. Version 0.9, og nu med i de nyeste A L TEXdistributioner. Helt ny implementation af mden man hndterer litteraturlister og citeringer. CTAN: /macros/latex/exptl/biblatex/ Jerry Leichter og Piet van Oostrum, multirow.sty, 2004. Version 1.6. Brugerinformation ndes i starten af multirow.sty. CTAN: /macros/latex/contrib/multirow/
A A A LTX3, L TEX 2 for class and package writers, The L TEX3 Project, 1999. Skrevet af L TEX3 AT X distribution under navnet clsguide.pdf. projektet og flger med enhver L E

CTAN: /macros/latex/doc/

Lars Madsen, Memoir-klassen en stor og eksibel dokumentklasse, 2003. dk-tugforedrag om memoir -klassen. Slides (med kildekoder) kan ndes via DK-TUGs hjemmeside. URL: http://www.tug.dk/memoir.html Lars Madsen, Avoid eqnarray! The PracTEX Journal, 4, 2006.
URL: http://tug.org/pracjourn/2006-4/madsen/

Lars Madsen, Users manual for the SASdisplay package, 2007. Simpel lille pakke til at fremvise sas kode eller output via pakken listings. Version 0.81, af september 2007.
URL: http://www.imf.au.dk/system/latex/lokalepakker/

Lars Madsen, Page Styles on steroids (or, memoir makes page styling easy). The PracTEX Journal, 2, 2008a. Artiklen er en gennemgang af page style hndteringen i memoir -klassen, specielt forklarer den det nye interface som gr kongurering af sektionsmarkrer til en leg. URL: http://tug.org/pracjourn/2008-2/madsen/ Lars Madsen, Various chapter styles for the memoir class, 2008b. Showcase dokument som fremviser forskellige kapitelforside designs til brug ved memoir -klassen. Filen (med kildekode) er tilgngelig via http://www.imf.au.dk samt via ctan. Bidrag er velkomne. Seneste version er 1.6 fra 2008/03/25. URL: http://www.imf.au.dk/system/latex/
artikler/MemoirChapStyles/

Lars Madsen, A small extension to threeparttable, 2009. En lille udvidelse til Arseneau (2003c) som gr det muligt at anvende den sammen med longtable. Desuden kan den anvendes til at muliggre referencer til tabelnoter.

CTAN: /macros/latex/contrib/threeparttablex/

Nicolas Markey, Tame the BeasST The B to X of BibTEX, 2009. Note som beskriver A sproget anvendt til BibTEX-stiller. Filen ndes sikkert allerede i de este L TEXdistributioner som ttb_en.pdf. CTAN: /info/bibtex/tamethebeast/ Andreas Matthias, The pdfpages Package, 2004. Pakke som gr det muligt at inkludere er-sidede pdf-dokumenter, direkte i ens eget dokument. Anvendes bl.a. p imf til at lime preprints sammen med deres respektive forsider.

CTAN: /macros/latex/contrib/pdfpages/

A Wolfgang May, An Extension of the L TEX-Theorem Environment, 2002. Brugermanual for pakken ntheorem. CTAN: /macros/latex/contrib/ntheorem/

396

Litteratur og pakkeinformation

Andrew Mertz og William Slough, A TikZ tutorial: Generating graphics in the spirit of TEX, i TUGBoat The Communications of the TEX Users Group, bind 30:2, pp. 214226, The TEX Users Group, 2009. Indtil 11. oktober 2010 er artiklen kun tilgngelig for medlemmer af TUG. Herefter kan ndes ndes via linket herunder.
URL: http://tug.org/TUGboat/Contents/contents30-2.html

Henrik Skov Midtiby, The todonotes pacakge, 2009. Pakke til at lave meget graske todo noter til sit dokument. Det er en god ide at lse manualen fr man bruger pakken.

CTAN: /macros/latex/contrib/todonotes/

Frank Mittelbach, The varioref package, 2004. Pakken giver \vref makroen til at lave A lidt smartere krydsreferencer. Burde flge med enhver L TEX installation, men kan ellers ndes p ctan. CTAN: /macros/latex/required/tools/
A Frank Mittelbach og David Carlisle, A new implementation of L TEXs tabular and array environment, 2003. Brugermanual og dokumentation for pakken array. Pakken flger A med enhver L TEX distribution. Manualen hedder normalt array.pdf.

CTAN: /macros/latex/required/tools/

A Frank Mittelbach og Michel Goossens, The L TEX Companion, Addison-Wesley, 2004, 2. udgave, ISBN 0-201-36299-6. Med Johannes Braams, David Carlisle og Chris Rowley samt bidrag af Christine Detig og Joachim Schrod. Kildekoden til mange af eksemplerne i bogen ndes p ctan. CTAN: /info/examples/tlc2/

Lee Netherton og CV Radhakrishnan, nomencl A Package to Create a Nomenclature, 2005. Pakke til at lave tegn- eller terminologiforklaringer.
CTAN: /macros/latex/contrib/nomencl

Rolf Niepraschk, Pakken overpic, 1997. Pakke som giver mulighed for at skrive ovenp inkluderede gurer. Pakken er dokumenteret via to eksempeller som man kan nde via URLen her under. CTAN: /macros/latex/contrib/overpic/ Rolf Niepraschk, The eso-pic package, 2002. Pakken ndes p ctan, hvor man ogs nder eksempler samt manualen. CTAN: /macros/latex/contrib/eso-pic/ Josselin Noirel, The cellspace package, 2006. Pakke med konstruktioner til at give mere luft til cellerne i en tabel. CTAN: /macros/latex/contrib/cellspace/ Josselin Noirel, The xifthen package, 2007. Udvidelser til ifthen-pakken (Carlisle, 2001b).
CTAN: /macros/latex/contrib/xifthen/

Heiko Oberdiek, The grfle package, 2009. Pakke som udvider reglerne for hvordan lnavne for grak kan skrives. F.eks. kan den hndtere lnavne med mellemrum.
A Tobias Oetiker, An Acronym Environment for L TEX2e, 2005.

CTAN: /macros/latex/contrib/oberdiek/

CTAN: /macros/latex/contrib/acronym/

A A Tobias Oetiker, The Not So Short Introduction to L TEX 2 , 2006. Introduktion til L TEX A som mange har lrt L TEX fra. Bemrk dog at en stor del af matematikken i denne note ikke br anvendes. CTAN: /info/lshort/english/ A Scott Pakin, The Comprehensive L TEX Symbol list, 2003. Flger normalt med LaTeX distributionerne under navnet symbols-a4.pdf eller symbols-letter.pdf, ellers kan den ndes via ctan. CTAN: /info/symbols/comprehensive/

397

Litteratur og pakkeinformation

Paul Pichaureau, The mathdesign package, 2006. Pakke med opstning af matematik til visse fonte. URL: http://www.tug.org/tex-archive/fonts/mathdesign/ Ebbe Thue Poulsen, Funktioner af en og ere variable. Indledning til matematisk analyse, Gads Forlag, 2001.
A Sebastian Rahtz og Heiko Oberdiek, Hypertext marks in L TEX: a manual for hyperref, 2004. Manual for hyperref pakken til interne hyperlinks i PDF. Desvrre hedder manualen ofte manual.pdf. CTAN: /macros/latex/contrib/hyperref/ A Keith Reckdahl, Using Imported Graphics in L TEX 2 , 3. udgave, 2005. Efter 8(!) rs tavshed kom der i 2005 en opdateret version af dette uundvrlige dokument. Den A gamle version flger sikkert allerede med i din L TEX-installation som epslatex. pdf. CTAN: /info/epslatex/english/

Axel Reichert, Fancy Cross-referencing, 1999. Manual til pakken fancyref, som tilbyder en mere intelligent mde at referere p. Hvis dokumentationen ikke ndes p systemet skal man bare nde og kompilere fancyref.dtx.

CTAN: /macros/latex/contrib/fancyref/

R. M. Ritter, The Oxford Guide to Style, Oxford University Press, 2002, ISBN 0-19869175-0. Kristoer H. Rose, X -pic Users Guide, 1999. Findes sammen med pakken xy under Y navnet xyguide.pdf. CTAN: /macros/generic/diagrams/xypic/xy-3.7/doc/ Kristoer H. Rose og Ross Moore, X -pic Reference Manual, 1999. Findes sammen med Y pakken xy under navnet xyrefer.pdf. Kan vre meget svr at forst. Bernd Schandl, paralist Extended List Environments, 2002.

CTAN: /macros/generic/diagrams/xypic/xy-3.7/doc/

CTAN: /macros/latex/contrib/paralist/

Martin Scharrer, Version Control of LaTeX Documents with svn-multi. The PracTEX Journal, 3, 2007, ISSN 1556-6994. URL: http://www.tug.org/pracjourn/2007-3/scharrer Martin Scharrer, The svn-multi package, 2009. Pakke som giver adgang til versionsdata indsat af subversion versionskontrolsystemet. CTAN: /macros/latex/contrib/svn-multi/
A Walter Schmidt, The icomma package for L TEX 2 , 2002. Giver et aktivt komma til decimaltal i matematik. Dokumentationen fs ved at overstte icomma.dtx.

CTAN: /macros/latex/contrib/was/

Martin Schrder, ragged2e.sty, 2003. Brugervejledningen ndes indeni ragged2e.sty. CTAN: /macros/latex/contrib/ms/ Axel Sommerfeldt, Typesetting captions with the caption package, 2005. Seneste version ndes p ctan. CTAN: /macros/latex/contrib/caption/ Victoria Squire, Getting it Right with Type, Laurence King Publishing, 2006, ISBN 1-85669-474-7. Ellen Swanson, Mathematics into Type, American Mathematical Society, 1999, ISBN 0-8218-1961-5. Hftet er af ldre dato men opdateret i 1999 af Arlene OSean og Antoinette Schleyer. Faktisk er dette hfte citeret i Knuth (1986), side 197.
398

Litteratur og pakkeinformation

Nicola L.C. Talbot, Datatool Databases and data manipulation, 2009a. Pakke som f.eks. gr det muligt at hente formatere tabeller fra eksterne kilder. Pakken er veldokumenteret, med masser af eksempler. CTAN: /macros/latex/contrib/datatool/
A Nicola L.C. Talbot, glossaries.sty v 2.04: L TEXPackage to Assist Generating Glossaries, 2009b. Meget gennemfrt pakke til generering af begrebsforklaringer etc. Manualen er velskrevet og pakken kommer med mange eksempel ler man kan tage udgangspunkt i. Hvis man anvender MikTeX, vil det vre en fordel at installere Perl for at f det fulde udbytte af pakken. CTAN: /macros/latex/contrib/glossaries/

Till Tantau, Userss Guide to the Beamer Class, 2005. Bruger manual til Beamer klassen. Filen hedder normalt beameruserguide.pdf. Se desuden CTAN: /macros/latex/contrib/ beamer/examples/. CTAN: /macros/latex/contrib/beamer/doc/ Till Tantau, The TikZ and PGF packages, 2007. Manual til det graksystemet TikZ/PGF som giver samme resultat i PostScript og PDF. De graske muligheder fra dette system anvendes bl.a. i beamer -klassen. Manualen ndes via CTAN: /graphics/pgf/base/ doc/generic/pgf/version-for-pdftex/en/, pakkerne kan ndes via linket herunder. Man kan desuden ndes man eksempler ved at google pgf examples.

CTAN: /graphics/pgf/

Kresten Krab Thorup og Frank Jensen, The calc package Inx notation arithmetic in A A L TEX, 1998. Standard del af enhver L TEX installation. Giver f.eks. mulighed for at man kan lgge lngder sammen i argumentet til \setlength. Pakken vedligeholdes A i dag af L TEX3-projektet. CTAN: /macros/latex/required/tools/ Georey Tobin, setspace.sty, 2000. Denne pakke giver forskellige muligheder til generering af tekst med dobbelt linieafstand. Brugervejledningen for pakken ndes som kommentarer i setspace.sty. Bemrk at funktionaliteten af pakken nu er indbygget i memoir -klassen. CTAN: /macros/latex/contrib/setspace/
A Mark Trettin, An essential guide to L TEX 2 usage Obsolete commands and packages, 2007. Engelsk overstttelse ved Jrgen Fenn. CTAN: /info/l2tabu/english/

Stefan Ulrich, bibtopic.sty, 2006. Pakke til at lave emneopdelt litteraturliste.

CTAN: /macros/latex/contrib/bibtopic/

Hideo Umeki, The geometry package, 2002. Pakken giver nemt interface til kongureA ring af marginer i L TEX. Alt efter hvilken version af pakken man har kan manualen til denne pakke godt hedde manual.pdf, hvilket ikke er srligt sigende.
CTAN: /macros/latex/contrib/geometry/

Universitetsavisen for Aarhus Universitet, Campus, 2006. Nummmer 10, 2006, indeholder en artikel om normalsider. URL: http://www.au.dk/campus/avis/2006/arkiv06/ Universitetsavisen for Aarhus Universitet, Campus, 2007. Nummmer 19, 2007, indeholder en diskussion vedrrende brugen af PowerPoint og lignende i undervisningen.
URL: http://www.au.dk/campus/avis/2007/arkiv07/

Dominique P. G. Unruh, usc.sty Unicode Support, 2004.

CTAN: /macros/latex/contrib/unicode/

A Piet van Oostrum, Page layout in L TEX, 2004. Brugermanual for pakken fancyhdr. Manualen er meget lrerig og tilbyder mange lsninger p sidehoved og -fod relaterede problemer. CTAN: /macros/latex/contrib/fancyhdr/

399

Litteratur og pakkeinformation

A Timothy Van Zandt, The fancyvrb package Fancy Verbatims in L TEX, 1998.

CTAN: /macros/latex/contrib/fancyvrb/

A Didier Verna, FiXme Collaborative annotation tool for L TEX, 2009. Hrende til version 4.1. Bemrk at version 4 ndrede en del af syntaksen i forhold til tidligere versioner, s husk at lse manualen til pakken. CTAN: /macros/latex/contrib/xme/

Ulrik Vieth, The concmath package, 1999. Udvidelse af Concrete fonten. Brugermanualen fs ved at overstte len contmath.dtx som kan ndes p URLen herunder.
CTAN: /macros/latex/contrib/concmath/

Jrgen Vollmer, The draftcopy package, 2002. Manualen (hvis den mangler) kan ndes A p ctan under navnet draftcopy.doc, som s bare skal kompileres med L TEX.

CTAN: /macros/latex/contrib/draftcopy/

A Herbert Vo, Math mode, 2008. Stor note omkring matematikrelaterede ting i L TEX, bde med og uden amsmath. CTAN: /info/math/voss/mathmode/

Mark A. Wicks, Dvipdfm Users Manual, 1999. Teknisk brugermanual til dvipdfm proA grammet. Burde flge med L TEX distributionen som .
CTAN: /dviware/dvipdfm/

Peter Williams og Thorsten Schnier, The Harvard Family of Bibliography Styles, 1996. Brugermanual til harvard pakken. CTAN: /macros/latex/contrib/harvard/ Peter Wilson, printlen.sty, 2001. Information vedr. anvendelsen af pakken str i printlen.sty. CTAN: /macros/latex/contrib/misc/ Peter Wilson, The tocloft package, 2003. Pakken omkongurer indholdsfortegnelsen og giver brugeren mange kongurations muligheder. Funktionaliteten af pakken er indbygget i memoir . CTAN: /macros/latex/contrib/tocloft/
A Peter Wilson, L TEX for the Initiated A Design Class, Endnu ikke udgivet, 2004a. Bog om dokumentdesign med memoir klassen. Forhbentlig bliver dette 500+ siders monster snart udgivet s andre ogs kan f glde af den.

Peter Wilson, The tocbibind package, 2004b. Pakken srger for at punkter som bibliogra, indeks og indholdsfortegnelse indgr i indholdsfortegnelsen. Indbygget i memoir .
CTAN: /macros/latex/contrib/tocbibind/

Peter Wilson, Addendum The Memoir Class for Congurable Typesetting; User Guide, 2007a. Addendum til Memoir manualen. Seneste version fra december 2007.
CTAN: /macros/latex/contrib/memoir/

Peter Wilson, Some Examples of Title Pages, 2007b. Mange eksempler p hvordan en forside kan se ud. Lavet med memoir -klassen. I sidste del af dokumentet er koden til de forskellige eksempler gennemget. Filen hedder normalt titlepages.pdf og kan ndes p linket herunder. CTAN: /info/latex-samples/ Peter Wilson, The Memoir Class for Congurable Typesetting, The Herries Press, 2010, 8. udgave. Dette er brugermanualen for memoir -klassen. Manualen flger normalt med installationen som memman.pdf, men kan desuden hentes fra ctan.
CTAN: /macros/latex/contrib/memoir/

Joseph Wright, siunitx A comprehensive (SI) units package, 2010. Pakken er under fortsat udvikling og JW svarer ofte p sprgsml p ctt eller p http://www. latex-community.org. Pakke og manual kan ndes via
CTAN: /macros/latex/contrib/siunitx/

400

Stikordsregister

B C D E

Sidetal i kursiv henviser til brug i eksempler. Bemrk: Pga. en underlig fejl og manglende forklaring p hvad det er som giver denne fejl har jeg ikke kunnet anvende mit normale indekseringsprogram (xindy), mens der arbejdes p at f den til at virke igen er nedenstende indeks lavet med makeindex, dvs. man m forvente at danske bogstaver ikke er sorteret korrekt samt at der ndes diverse dupletter (pga. forskellig hndtering af mellemrum). Symbols ! anvendt i indeks, 242 \" (accent umlaud), 27 "orddeling ved bindestreg, 25 orddeling ved bindestreg, 218 "/ orddeling ved skrstreg, 218 \#, 10 \$, 10 &, 44
&

F G H I J K L M N O P Q R S T U V W X Y Z

ved brug i tabeller, 156 (, 64 (xifthen), 353 ), 64 \) (xifthen), 353 \*, 82, 82 \,, 42 - (bindestreg), 24 \-, 22, 217 (en-dash), 24 (em-dash), 24 . (punktum) som tomt hegn, 64 \:, 42 \;, 42 \= (accent macron), 27 @ i makronavne, 344 @@ anvendt i index, 242 \@tempdima (lngde), 344 \@tempdima (lngde), 350 \@tempdimb (lngde), 350 \@tempdimc (lngde), 350 \[, 44, 55, 64, 85 \ , 42 ", 23
\(

$. . . $, 41, 43 10 \&, 10 \ (accent aigu), 27 \- (orddeling), 22 \. (accent prik over), 27 \= (accent macron), 27 \H (ungarsk accent umlaut), 27 i matematik, 55 ndringer hvor glder de?, 342 i matematik, 55 \[. . . \], 113 \[. . . \], 44 \[...\], 43 \[. . . \], 45 \^ (accent circumex), 27 \_, 10 \ (accent grave), 27 \c (accent cedille), 27 \\*, 94 \\, 44, 45, 68, 72, 87, 89, 89, 90, 93, 94 \d (accent prik under), 27 , 24 \k (accent ogonek), 27 , 24 \r (accent bolle), 27 i matematik, 55 \t (accent bind efter), 27 \u (accent breve), 27 \v (accent hek), 27 {} som beskyttelse, 29 \~ (accent tilde), 27 \], 44, 55, 64, 85 , 65 hvet skrift, 65
\%,

401

_ potens, 65 superscript, 65 _, 65 indices, 65 snket skrift, 65 subscript, 65 , 24 , 24 |, 242 textbar, 62 ~, 148 ~, 117 10pt (klasse option), 12 11pt (klasse option), 12 12pt (klasse option), 12

Stikordsregister
\addcontentsline, \addgls

alignment

A A (sjle specier), 160 a4 (pakke, brug ikke), 387 a4paper (klasse option), 8, 12, 13, 15, 280, 366, 387 a4wide (pakke, brug ikke), 388 \AA, 28 \AA (), 27 \aa, 28 \aa (), 17, 27 abbrv (BibTEX stil), 198, 207 abbrvnat (BibTEX stil), 201 \abovecaptionskip, 143 \abs, 98, 98
\abs

lavet p den rigtige mde, 98 \abs*, 98, 98 abstract (environment), 303, 321 \abstractname, 219 accenter, 27 aigu ( ), 27 bind efter ( ), 27 bolle ( ), 27 breve ( ), 27 cedille (), 27 circumex ( ), 27 grave ( ` ), 27 hek ( ) , 27 macron ( ), 27 matematiske, 61 ogonek ( ), 27 prik over ( ), 27 prik under ( . ), 27 tilde ( ), 27 umlaud ( ), 27 understreg ( ), 27 ungarsk umlaut ( ) , 27 acroread (fremviser), 363 \acute, 61 \add (gauss), 71 402

274, 287, 288, 324 (glossaries), 249 \addlinespace, 163, 174 \addlinespace (booktabs), 162, 163 address (BibTEX felt), 193, 196 \addto, 219 \addtocontents, 288 \addtocounter, 351 \addtolength, 174, 280, 315, 349, 350 \addtopsmarks (memoir), 311, 312 \AddToShipoutPicture, 147, 148 \adjustwidth, 320 adjustwidth (env, memoir), 321 adjustwidth* (env, memoir), 179, 320 Adobe Reader (program), 368 \AE, 28 \AE (), 27 \ae, 28 \ae (), 17 \ae (), 27 ae (pakke, brug ikke), 388 aecompl (pakke, brug ikke), 388 afgrnser, Se hegn afgrnsere, 63 aedt af en funktion, 50 \afterpage, 138, 138, 145, 180, 180 afterpage (pakke), 138, 384 \aleph (), 50 algorithm (environment), 273 algorithm (pakke), 273 algorithmic (environment), 271 algorithmicx (pakke), 271273, 395 algpseudocode (pakke), 271 \aliaspagestyle (memoir), 309, 310 align alignment til hjre for relation, 87 align (enumitem), 231 align (environment), 43, 44, 44, 45, 45, 46, 46, 86, 87, 9093, 96, 96, 99, 123, 262, 332, 376, 381 align* (environment), 45, 45, 51, 62, 83, 84, 86, 87, 89, 92, 94, 99, 100, 107, 262, 270 alignat (environment), 87, 88, 88, 91, 99, 100, 123 alignat* (environment), 87, 88 aligned (environment), 91, 91, 92, 94, 96 alignedat (environment), 85, 91, 91, 93, 94 alignment, 86 align, 87 alignat, 87 aligned, 91 alignedat, 91 ensbetyderpile mellem linier, 100 hack ved brede grnser, 97 indst kommentar, 89

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

alignmentsjle

Stikordsregister
\ar,

\bar

split, 91 til hjre for relation, 87 alignmentsjle, 86 \allowbreak, 81, 81, 333 \allowdisplaybreak, 93 \allowdisplaybreaks, 93, 94 \Alph, 352 \alph, 352 \Alph* (enumitem), 231 \alph* (enumitem), 231 \alpha (), 48, 270 alpha (BibTEX stil), 189, 197 \alsoname, 219 alt for store hegn eksempel, 64, 72 \ampere (siunitx enhed), 254 amsart (klasse), 39, 41, 111, 113 amsbook (klasse), 41, 113 amsfonts (pakke), 47 amsmath (pakke), 8, 14, 14, 25, 41, 46, 52, 56, 60, 68, 69, 71, 86, 90, 9597, 101, 114, 117, 117, 118, 123, 165, 174, 221, 256, 269, 270, 327, 352, 373, 384, 393, 400 amssymb (pakke), 8, 14, 14, 41, 47, 56, 72, 101, 117, 118, 159, 221, 327, 385 amsthm (pakke), 111, 111, 112, 112, 113, 113, 114116, 327, 331 \and, 39, 39 \AND (xifthen), 353 anfrselstegn, 23 , 24 , 24 , 24 , 24 \angle (), 50 angle (graphicx), 129, 130 \angstrom (siunitx enhed), 254 animate (pakke), 264, 264 \animategraphics, 264 annote (BibTEX felt), 196 ansinew (inputencoding), 17 anysize (pakke), 385 apalike (BibTEX stil), 199, 201, 205 apostrof, 10 appendices (environment), 214 \appendix, 213, 214, 214, 294, 322, 329, 330 \appendixname, 214, 219 \appendixpage, 214 \appendixpage (memoir), 322 \appendixpagename, 214 \appendixpagename (memoir), 322 \appendixtocname, 214 \appendixtocname (memoir), 322 applemac (inputencoding), 17 \approx (), 49 403

85, 101, 102, 103, 103 labels, 104 pilens udformning, 103 placering, 102 \arabic, 352 \arabic* (enumitem), 231 \arccos (mat. operator), 56 \arcminute (siunitx enhed), 254 \arcsecond (siunitx enhed), 254 \arcsin (mat. operator), 56 \arctan (mat. operator), 56 \arg (mat. operator), 56 argument, 11 array (environment), 69, 69, 70, 174 array (pakke), 157159, 159, 160, 160, 163, 164, 174, 397 \arraybackslash, 158, 159, 159, 160, 160, 170 \ArrowBetweenLines, 100, 338 ArrowBetweenLines (pakke), 99 \ArrowBetweenLines*, 100, 100 \ArrowBetweenLines**, 100 article (BibTEX type), 193, 196 article (klasse), 8, 13, 15, 21, 39, 133, 213, 219, 229, 282, 284, 285, 289, 305, 314, 323, 326, 327 \ast (), 49 \asymp ( ), 49 \AtEndDocument, 328 \atomicmassunit (siunitx enhed), 254 \atto (siunitx prex), 255 \author, 39, 39 \author (beamer), 261, 261 author (BibTEX felt), 193, 193, 194, 196 authoryear (natbib option), 191 B (accent understreg), 27 \b (accent understreg), 27 \babel, 392 babel (pakke), 8, 13, 13, 14, 14, 17, 17, 2225, 25, 26, 36, 105, 105, 112, 112, 113, 205, 216219, 221, 315, 321, 343, 374, 384 babelbib (pakke), 205 bachelorprojekt fortlbende gurnummerering, 326 \backmatter (memoir), 322 \backprime ( ), 50 \backsim ( ), 49 \backsimeq ( ), 49 \backslash, 10 \backslash (\), 50 badness, 375 baggrundsbilleder, 147 \bar, 60, 61
\b

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

\bar

(siunitx enhed)

Stikordsregister
\bibliographystyle,

BibTEX

(siunitx enhed), 254 (siunitx enhed), 254 \barwedge ( ), 49 \baselineskip, 320 \bdot, 267 \beamer, 265 beamer (klasse) \author, 261, 261 \date, 261, 261 frame, 260, 260, 261, 261, 262, 263, 263, 264 \frametitle, 260, 260, 261, 264 Frankfurt, 261, 264 handout, 264, 264, 265 infolines, 261 \institute, 261, 261 Luebeck, 263 miniframes, 261, 264 \mode, 265 notheorem, 263 notheorems, 263 \pause, 262, 262 \pfgpageuselayout, 265 \subtitle, 261 \title, 261, 261 \titlepage, 261, 261 trans, 265 \uncover, 262, 262 beamer (klasse), xvii, 259, 260, 260, 261, 261, 263, 263, 264, 264, 265, 399 \becquerel (siunitx enhed), 254 \begingroup, 93, 122, 342 \bel (siunitx enhed), 254 \belowcaptionskip, 143 bemaer (klasse), 263 Bera Sans, 225 BeraMono, 226 beramono (pakke), 226, 384 berasans (pakke), 225, 384 beskrivende liste, 36 \beta (), 48, 270 beviser med ntheorem, 118 slutmarkr forsvinder, 117 \bf, 29 \bfseries, 29, 30, 30, 37, 114, 115, 119, 121, 234, 342 bfseries (environment), 30 biber (program), 211 \bibitem, 186, 186, 187 biblatex (pakke), 205, 211, 345 bibliogra, 185211 konstruktion af, 185 \bibliography, 188, 188, 189, 189, 202, 203, 205, 243, 294, 323 \bibliographysec, 207
\bar \barn

188, 188191, 197203, 207, 208, 294, 323 \bibliographystylesec, 207, 208 \bibmark (memoir), 311 \bibname, 219 \bibsection (memoir), 324 BibTEX f alle punkter med i litteraturlisten, 189 BibTEX felter address, 193, 196 annote, 196 author, 193, 193, 194, 196 booktitle, 193, 196, 202 chapter, 193 edition, 193 editor, 193, 196 le, 196 howpublished, 193 issn, 193 journal, 193, 196 month, 193 note, 193, 193, 195 number, 193 organization, 193 pages, 193, 196 publisher, 193, 193, 196 school, 193 series, 193, 196 shorttitle, 196 title, 193, 193, 196 type, 193 url, 193, 195 volume, 193, 196 year, 193, 193, 196 stile abbrv, 198, 207 abbrvnat, 201 alpha, 189, 197 apalike, 199, 201, 205 chicago, 190, 190, 191, 201, 201 dk-abbrv, 199 dk-alpha, 198 dk-apali, 199 dk-plain, 198 dk-unsrt, 198 dltxbbibtex, 202 jox, 202 jurabib, 203 kluwer, 202 plain, 188, 197 plainnat, 199, 200 unsrt, 189, 197 unsrtnat, 200 typer 404

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

BibTEX

Stikordsregister

brker

article, 193, 196 book, 193, 193, 196 booklet, 193 inbook, 193 incollection, 196, 202 inproceedings, 193 phdthesis, 193 proceedings, 193 BibTEX and, 194 forfattersortering, 194 mere end en forfatter, 194 store bogstaver bliver til sm, 194 titel opfrer sig underligt, 194 titelfelt syntaks, 194 url i en indgang, 195 bibtex (program), 18, 188, 192, 193, 208, 211, 244, 323 bibtex8 (program), 18, 193, 205 bibtopic (pakke) \btPrintAll, 209 \btPrintCited, 209 \btPrintNotCited, 209 btSect, 209 bibtopic (pakke), xiii, 206208 bibunits (pakke), 206 \Big, 98, 98, 223 \big, 98, 382 \bigbox ( ), 53 \bigcap ( ), 53 \bigcup ( ), 53 bigfoot (pakke), 215, 216, 238 \Bigg, 98 \bigg, 98, 223 \biggl, 64 \Biggm, 64 \biggm, 64, 64, 65 \biggr, 64 \biginterleave ( ), 53 \Bigl, 99 \bigl, 63, 68, 94, 332 \Bigm, 64, 65 \bigm, 63, 63, 64 \bigoplus ( ), 53 \bigotimes, 52 \bigotimes ( ), 53 \bigparallel ( ), 53 \Bigr, 99 \bigr, 63, 68, 94, 332 \bigsqcap ( ), 53 \bigsqcup ( ), 53 \bigstar ( ), 50 \bigtimes, 52 \bigvee ( ), 53 \bigwedge, 52 \bigwedge ( ), 53 405

bindestreg (-), 24 66, 66 binomialkoecient \binom, 66 \dbinom, 66 \tbinom, 66 bitmap skalering af, 128 \blacklozenge ( ), 50 \blacksquare ( ), 50 \blacktriangle ( ), 50, 117 \blacktriangledown ( ), 50 blindtext (pakke), 220 blkarray (pakke), 70, 70 block (environment), 70 blockarray (environment), 70 \bm, 54, 56, 56, 222 bm (pakke), 56, 56, 221, 327, 384 Bmatrix (environment), 68, 68 bmatrix (environment), 68, 68 bmatrix* (environment), 68 \bmod, 67, 67 book (BibTEX type), 193, 193, 196 book (klasse), 12, 13, 39, 219, 282, 285, 301, 303, 305, 314 booklet (BibTEX type), 193 bookmark (pakke), 274 booktabs (pakke), 162, 163, 164, 164, 165, 166, 166, 174, 178, 181, 182, 393 \addlinespace, 162, 163 \bottomrule, 162, 163 \cmidrule, 162164 \cmidrulewidth, 162 \heavyrulewidth, 162, 163 \lightrulewidth, 162, 163 \midrule, 162, 163 \specialrule, 162 \toprule, 162, 163 booktitle (BibTEX felt), 193, 196, 202 \boolean (xifthen), 353 \bot (), 50 \bottomfraction, 136 bottomnumber (tller), 135 \bottomrule, 163166, 170, 171, 182 \bottomrule (booktabs), 162, 163 \Box ( ), 50 boxedminipage (environment), 356, 358 boxedminipage (pakke), 356 brker \cfrac, 66 \cfrac, 66 \dfrac, 66 \frac, 66 \frac, 66 \splitdfrac (mathtools), 66 \splitfrac, 66
\binom,

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

break (theoremstyle, nthm)


\splitfrac \tfrac,

Stikordsregister

\citealt

(natbib)

(mathtools), 66 66 \tfrac, 66 break (theoremstyle, nthm), 115, 116, 122 breakurl (pakke), 273 breqn (pakke), 65, 257 \breve, 61 \btPrintAll, 209 \btPrintCited, 209 \btPrintNotCited, 209 btSect (environment), 209 \bullet (), 49 C (accent cedille), 27 C (sjle specier), 167 c (sjle specier), 156, 159162, 164, 166, 170, 174 calc (pakke), 234, 350, 351, 353, 372, 384 \calccentering, 320 \calccentering (memoir), 320 \Call, 272 \candela (siunitx enhed), 254 \cap (), 49 captiob (pakke), 142 caption ndring af bredde, 142 emulere \caption udenfor oats, 144 mindre fontstrrelse, 142 spacing fr og efter, 143 \caption, 134, 135, 138, 139, 139, 140, 141, 142, 142, 143, 143146, 157, 172, 177, 177, 179, 179, 321, 371 caption (pakke) \captionof, 144 \captionsetup, 141, 145 caption (pakke), 141, 142, 142, 143, 143, 144, 145, 157, 177, 384, 386 \captionof, 144 \captionof (caption), 144 \captionsdanish, 219 \captionsetup, 142, 143 \captionsetup (caption), 141, 145 cases med formelnumre, 101 cases (environment), 64, 71, 72, 72 \cdot, 59, 60, 82, 82 \cdot (), 49 \cdots, 59, 59, 60 \ce, 269, 269, 270 \cee, 270, 270 cellspace (pakke), 167, 174, 174 \cellspacebottomlimit (lngde), 174, 174 \cellspacetoplimit (lngde), 174, 174 \celsius (siunitx enhed), 254 Center (environment), 35
\c

center (environment), 30, 34, 34, 179, 321, 321 \Centering, 35, 158 \centering, 34, 35, 134, 138140, 142146, 157, 158, 160, 162, 177, 179 \centi (siunitx prex), 255 \centimetre (siunitx enhed), 255 centrere indhold mht. papiret, 320 centreret :=, 101 \cfrac, 66, 66 \cftappendixname, 214, 329 \cftchaptername, 214 \cftfigurename, 328 \cfttablename, 328 \cftXnumwidth (memoir), 315 change (theoremstyle, nthm), 115 changebreak (theoremstyle, nthm), 115 \@chapapp, 312 \chapnamefont (memoir), 314 \chapnumfont (memoir), 314 \chapter, 13, 21, 33, 137, 213215, 219, 282, 284289, 291, 305, 306, 311, 326, 332 chapter (BibTEX felt), 193 chapter (pagestyle), 310 chapter (pagestyle, memoir), 309, 313 chapter (tller), 95, 350 chapterbib (pakke), 206, 323 \chaptermark, 285, 311 \chaptername, 214, 219 \chapterstyle (memoir) section, 326 \chaptitlefont (memoir), 314 \check, 61 \checkandfixthelayout, 308 \checkandfixthelayout (memoir), 308, 308, 324 \checkandtixthelayout, 308 \chi (), 48 chicago (BibTEX stil), 190, 190, 191, 201, 201 chngcntr (pakke), 96, 352 chngpage (pakke), 179 \circ (), 49 \circeq ( ), 49 \circlearrowleft ( ), 51 \circlearrowright ( ), 51 \cite, 186, 186, 187, 188, 188, 189, 189, 190, 191, 191, 192, 192, 202, 207, 248 cite (pakke), 187, 187, 192, 391 \cite* (natbib), 190 \citealias, 191 \citealp (natbib), 190 \citealp*, 191 \citealt, 191 \citealt (natbib), 190 406

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

\citeauthor

(natbib) (natbib), 190

Stikordsregister
\ContinuedFloat

dcolumn (pakke)

\citeauthor

\citeauthor* (natbib), 190 \citep, 190, 190, 191, 191

(natbib), 190 \citep*, 190 \citep* (natbib), 190 \citepalias (natbib), 191 citering nummerisk automatisk sortering, 187 \citesec, 207 \citet, 190, 190, 191, 192, 192 \citet (natbib), 189 \citet*, 190 \citet* (natbib), 190 \citetalias (natbib), 191 \citetext, 190, 191 \citeyear (natbib), 190 \citeyearpar (natbib), 190 \cleardoublepage, 20, 21, 137, 294, 321 cleared (pagestyle, memoir), 309 \clearpage, 20, 137, 138, 138, 374 \cleartorecto (memoir), 325 cleveref (pakke), 298, 299 \cline, 162 clip (graphicx), 130, 130 \clubpenalty, 333 \clubsuit (), 50 \cm (siunitx enhed), 255 \cmath, 269, 269 \cmidrule, 163 \cmidrule (booktabs), 162164 \cmidrulewidth (booktabs), 162 \cnttest, 353 \cnttest (xifthen), 353 colon (natbib option), 191 \colops (gauss), 71 \color, 234 color (pakke), 119, 234, 384, 392, 395 \colorbox, 234, 235 colortbl (pakke), 181 column (pakke), 164 column specier, 165 \columnsep (lngde), 351 comma (natbib option), 191 \Comment, 272 comment (environment), 294, 384 comment (pakke), 294, 295, 384 compactenum (environment), 229 compactitem (environment), 229 \CompileMatrices, 104, 104 \complement ( ), 50 Concrete, 224 \cong ( ), 49, 53 \contentsname, 219, 322 \ContinuedFloat, 146
\citep

(subg), 146 contmath (pakke), 224 convert (program), 127, 128, 364 cool (pakke), 338 \coprod ( ), 53 \copypagestyle (memoir), 309, 310, 313, 313 \copyright, 320 \copyright (, textcomp), 28 \cos, 44 \cos (mat. operator), 56 \cosh (mat. operator), 56 \cot (mat. operator), 56 \coth (mat. operator), 56 \coulomb (siunitx enhed), 254 \counterwithin (memoir), 352 \counterwithout (memoir), 96, 352 \createmark, 312 \createmark (memoir), 311 \createplainmark, 312 \createplainmark (memoir), 311 \csc (mat. operator), 56 csquotes (pakke), 23, 23, 384 CSV data, 182 \ctan, 386 \cubed (siunitx prex), 255 \cubic (siunitx prex), 255 \cup (), 49 curve (pakke), 334 \curvearrowleft ( ), 51 \curvearrowright ( ), 51 \cxymatrix, 106, 106 D \d (accent prik under), 27 D (sjle specier), 165, 166 d (sjle specier), 165 dkblad, 302 \dagger (), 49 danish (klasse option), 13 dansk opstning, 16 danske bogstaver, 28 danske vokaler i matematik, 55 \dashleftarrow ( ), 51 \dashrightarrow ( ), 51 datatool (pakke), 182, 182, 236 \date, 39, 39 \date (beamer), 261, 261 \day (siunitx enhed), 254 \dbinom, 66 dcases (environment), 72 dcases (environment), 72 \dcolumn, 166 dcolumn (pakke), 68, 164, 165, 165, 166, 168, 169 407

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

\ddagger

()

Stikordsregister
\dj

dokumentklasser

(), 49 61 \dddot, 61 \ddot, 61 \ddots, 60 deactivate (environment), 105 \deca (siunitx prex), 255 \deci (siunitx prex), 255 \decibel (siunitx enhed), 254 \DeclareGraphicsExtensions, 131 \DeclareGraphicsRule, 131, 131 \DeclareMathGroup, 58 \DeclareMathOperator, 57, 57, 267, 338 \DeclareMathOperator*, 57, 57 \DeclareMathSet, 58 \DeclarePairedDelimiter, 98, 98, 332, 338, 345 \def, 327, 337, 382 \defcitealias, 191 \defcitealias (natbib), 191 \defineshorthand, 25 defn (environment), 112, 116 \deg (mat. operator), 56 \degree (siunitx enhed), 254 \degreeCelsius (siunitx enhed), 254 deklarationsmakroer, 28, 29 delimiter, Se hegn delimiters lVert, 62 lvert, 62 rVert, 62 rvert, 62 \Delta (), 48, 269 \delta (), 48 \depth (lngde), 357 \depthof, 350 description (environment), 38, 228, 231, 232, 342 description (liste), 38 \descriptionlabel, 342 \dfrac, 66, 174 \DH (), 27 \dh (), 27 \Diamond ( ), 50 \diamond ( ), 49 \diamondsuit (), 50 \diff, 67 \dim (mat. operator), 56 \dimtest (xifthen), 353 \discretionary, 82 \displaybreak, 93 displaystyle, 41, 72 \displaystyle, 72, 106, 122 \DistEq, 338, 338 \div (), 49 \DJ (), 27
\ddagger \ddddot,

( ), 27 dk-abbrv (BibTEX stil), 199 dk-alpha (BibTEX stil), 198 dk-apali (BibTEX stil), 199 dk-apali (pakke), 202 dk-bib (pakke), 199, 199, 205 dk-plain (BibTEX stil), 198 dk-unsrt (BibTEX stil), 198 dltxbbibtex (BibTEX stil), 202 dltxbcodetips (pakke), xx, 384 dltxbmarkup (pakke), 384 dltxbmisc (pakke), 384 dltxbtoccong (pakke), 384 document (environment), 8, 11, 15, 133 \documentclass, 7, 8, 12, 13, 15, 133, 293 dokumentklasse, 12 options 10pt, 12 11pt, 12 12pt, 12 a4paper, 8, 12, 13, 15, 280, 366, 387 danish, 13 draft, 333, 377 eqn, 12, 331 leqno, 12 letter, 12 onecolumn, 12 oneside, 12, 325 openany, 13 openright, 13 reqno, 12 showtrims (memoir), 280 twocolumn, 12 twoside, 12, 279, 280, 324, 326 dokumentklasser amsart, 39, 41, 111, 113 amsbook, 41, 113 article, 8, 13, 15, 21, 39, 133, 213, 219, 229, 282, 284, 285, 289, 305, 314, 323, 326, 327 beamer, xvii, 259, 260, 260, 261, 261, 263, 263, 264, 264, 265, 399 bemaer, 263 book, 12, 13, 39, 219, 282, 285, 301, 303, 305, 314 KOMA-script scrartcl, 13, 305 scrbook, 13, 305 scrlettr, 305 scrlettr2, 13 scrlttr2, 305 scrreprt, 13, 305 letter, 13, 20, 235, 305 memoir, xvii, xviii, xxi, 12, 13, 20, 20, 31, 33, 39, 82, 96, 119, 131, 135, 136, 141, 145, 157, 158, 160, 162,

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

408

\dot

Stikordsregister ( ), 50 ellipsis (pakke), 27 \Else, 272 \else, 132, 279 \ElsIf, 272 em, 42 \em, 30
\ell

enhed (siunitx)

164, 170, 174, 178, 181, 213216, 219, 227, 229, 235, 238, 242, 243, 246, 258, 260, 265, 273, 274, 277, 280, 282, 283, 285289, 299, 301, 303, 305316, 320330, 339341, 350, 352, 373, 376, 389, 391, 393396, 399, 400 powerdot, 259 prosper, 259 report, 13, 39, 219, 282, 305 revtex4, 14 scrltr2, 235 scrlttr2, 13, 20 \dot, 61 \doteq ( ), 49 \dotfill, 171 dots, 60 \dots, 27, 27, 59, 59, 60, 81, 85, 111, 122 \DoubleSpacing (memoir), 326 \Downarrow, 63 \Downarrow (), 51 \downarrow, 63 \downarrow (), 50, 51 draft (klasse option), 333, 377 \dtldisplayafterend, 182 \dtldisplayafterhead, 182 \DTLdisplaydb, 182 \dtldisplaystarttab, 182 \DTLforeach, 182 \DTLiffirstrow, 182 \DTLloaddb, 182 dvipdfm (program), 128, 131, 400 dvipdfmx (program), 126, 128, 306 dvipng (program), 224 dvips (program), 7, 9, 102, 125, 126, 128130, 146, 150, 151, 273, 366 E (program), 126 (editor), 363, 368 \edef, 382 edition (BibTEX felt), 193 editor (BibTEX felt), 193, 196 editorer Eclipse, 363, 368
ebb Eclipse

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

362, 367 362 Led, 367 Lyx, 363 TeXmacs, 362, 363 Texmacs, 367 TeXMaker, 367 TeXnicCenter, 367 TeXworks, 362, 366 Vim, 363 \electronvolt (siunitx enhed), 254
Kile,

Emacs + auctex + reftex,

Emacs + auctex + reftex (editor), 362, 367 em-dash (), 24 \eminnershape, 31, 31 \emph, 30, 31, 31, 186 empheq (environment), 101, 338 empheq (pakke), 72, 82, 101, 101, 395 empty (pagestyle), 39, 282 empty (pagestyle, memoir), 308, 309 empty (theoremstyle, nthm), 116, 119, 119 emptybreak (theoremstyle, nthm), 116 \emptyset (), 50 \end{document}, 16 en-dash (), 24 \endfirsthead (longtable), 172, 173 \endfoot (longtable), 173 \EndFor, 272 \EndFunction, 272 \endgroup, 93, 122, 342 \endhead (longtable), 172, 173 \EndIf, 272 \endinput, 16, 291, 293, 294 \endlastfoot (longtable), 172, 173 \EndLoop, 272 \endnote, 216 endnotes, 33, 215 endnotes (pakke), 216 \EndProcedure, 272 \endswith (xifthen), 353 \EndWhile, 271, 272 enhed (siunitx) \ampere, 254 \angstrom, 254 \arcminute, 254 \arcsecond, 254 \atomicmassunit, 254 \bar, 254 \barn, 254 \becquerel, 254 \bel, 254 \candela, 254 \celsius, 254 \centimetre, 255 \coulomb, 254 \day, 254 \decibel, 254 \degree, 254 \degreeCelsius, 254 \electronvolt, 254 \farad, 254

409

enhedspotens (siunitx) forkortet \cm, 255 \GHz, 255 \Hz, 255 \kA, 255 \keV, 255 \kg, 255 \kHz, 255 \kJ, 255 \km, 255 \kV, 255 \mA, 255 \MeV, 255 \meV, 255 \mg, 255 \MHz, 255 \mHz, 255 \ml, 255 \mm, 255 \ms, 255 \mV, 255 \nm, 255 \s, 255 \um, 255 \us, 255 \gigahertz, 255 \gray, 254 \hectare, 254 \henry, 254 \hertz, 254, 255 \hour, 254 \joule, 254 \katal, 254 \kelvin, 254 \kg, 254 \kiloampere, 255
\kiloelectronvolt, \kilogram,

Stikordsregister 255 255 \millimetre, 255 \millisecond, 255 \millivolt, 255 \minute, 254 \mmHg, 254 \mole, 254 \nanometre, 255 \neper, 254 \newton, 254 \ohm, 254 \pascal, 254 \percent, 254 \radian, 254 \second, 254, 255 \siemens, 254 \sievert, 254 \steradian, 254 \tesla, 254 \tonne, 254 \volt, 254 \watt, 254 \weber, 254 enhedspotens (siunitx) \cubed, 255 \cubic, 255 \square, 255 \squared, 255 enhedsprex (siunitx) \atto, 255 \centi, 255 \deca, 255 \deci, 255 \exa, 255 \femto, 255 \giga, 255 \hecto, 255 \kilo, 255 \mega, 255 \micro, 255 \milli, 255 \nano, 255 \peta, 255 \pico, 255 \tera, 255 \yocto, 255 \yotta, 255 \zepto, 255 \zetta, 255 enker, 333 \enlargethispage, 333 \enquote, 23 ensbetyderpile mellem linier, 100 \enskip, 42 \enspace, 171
\millilitre, \millihertz,

\enspace

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

255

254, 255 \kilohertz, 255 \kilojoule, 255 \kilometre, 255 \kilovolt, 255 \liter, 254 \litre, 254 \lumen, 254 \lux, 254 \megaelectronvolt, 255 \megahertz, 255 \meter, 254 \metre, 254 \MHz, 254 \micrometre, 255 \microsecond, 255 \milliampere, 255 \millielectronvolt, 255 \milligram, 255 410

\Ensure

Stikordsregister 272

environments compactenum, 229 compactitem, 229 dcases, 72, 72 deactivate, 105 defn, 112, 116 description, 38, 38, 228, 231, 232, 342 document, 8, 11, 15, 133 empheq, 101, 338 enumerate, 37, 37, 38, 38, 113, 122, 228, 229, 231233, 374 enumitem, 234 eqnarray, 46, 94, 327, 331, 372 equation, 8, 43, 43, 45, 46, 91, 92, 94, 96, 105, 107, 332 equation*, 41, 41, 43, 43, 44, 45, 52, 56, 91, 98, 107 falign, 88 falign*, 88 gure, 11, 34, 134, 135, 138140, 141, 142, 143, 144, 144146, 156, 273, 372 lecontents*, 182 align, 88 FlushLeft, 35 ushleft, 35, 218, 239, 320 FlushRight, 35 ushright, 35, 35, 218 frame (beamer), 260, 260, 261, 261, 262, 263, 263, 264 gather, 89, 89, 90, 91, 91, 92, 93, 95, 96 gather*, 71, 84, 85, 269 gathered, 92, 92, 94 gmatrix, 71 inparaenum, 230 itemize, 36, 36, 38, 228, 229, 231, 233, 374 landscape, 180 lemma, 111, 115117 lemme, 263 lgathered, 92, 99, 99 longtable, 160, 172, 173, 177, 178, 180, 246, 396 lrbox, 358 matrix, 68, 68, 69 measuredgure, 143 minipage, 139, 139, 140, 140, 141, 144, 144, 145, 235, 350, 355357, 372, 373, 391 multicols, 385 multline, 84, 90, 90, 93 multline*, 84, 90 multlined, 92 opgave, 119, 119 otherlangiage, 321 otherlanguage, 217, 322 otherlanguage*, 217

\Ensure,

\ensuremath,

82, 114, 117 enumerate (environment), 37, 37, 38, 38, 113, 122, 228, 229, 231233, 374 enumerate (liste), 37 enumerate (pakke), 37, 37, 228, 229, 231 enumitem (environment), 234 enumitem (pakke) align, 231 \Alph*, 231 \alph*, 231 \arabic*, 231 noitemsep, 232 ref, 231 resume*, 232 \Roman*, 231 \roman*, 231 \setdescription, 233 \setenumerate, 233 \setitemmize, 233 \setlist, 233 start, 231 style, 232 enumitem (pakke), 38, 228, 230, 231, 234, 384 environment, 11 denere egne, 343 environments abstract, 303, 321 adjustwidth, 321 adjustwidth*, 179, 320 algorithm, 273 algorithmic, 271 align, 43, 44, 44, 45, 45, 46, 46, 86, 87, 9093, 96, 96, 99, 123, 262, 332, 376, 381 align*, 45, 45, 51, 62, 83, 84, 86, 87, 89, 92, 94, 99, 100, 107, 262, 270 alignat, 87, 88, 88, 91, 99, 100, 123 alignat*, 87, 88 aligned, 91, 91, 92, 94, 96 alignedat, 85, 91, 91, 93, 94 appendices, 214 array, 69, 69, 70, 174 bfseries, 30 block, 70 blockarray, 70 Bmatrix, 68, 68 bmatrix, 68, 68 bmatrix*, 68 boxedminipage, 356, 358 btSect (bibtopic), 209 cases, 64, 71, 72, 72 Center, 35 center, 30, 34, 34, 179, 321, 321 comment, 294, 384 411

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

eps

Stikordsregister picture, 147, 258, 351 pmatrix, 60, 68, 68, 71, 374 problem, 123 proof, 112, 113, 116, 118, 118, 119, 119, 263 proof (amsthm), 112 proofof, 119, 119 quotation, 35, 35, 343 quote, 35, 35, 36, 343 remark, 112 shaded, 120, 181, 215, 235 sideways, 179, 179 sidewaysgure, 179 sidewaystable, 179, 179 smallmatrix, 67, 68, 68 split, 91, 91, 92, 94, 96, 107, 372 subappendices, 214 subequations, 96, 96, 123 table, 134, 143, 156, 171, 174, 175, 177, 179, 273, 372 TableNotes, 178 tablenotes, 177, 177 tabular, 70, 156, 156, 157, 159161, 163166, 170, 172, 174, 174, 177, 179, 355 tabularx, 170, 170, 171, 174, 176 thebibliography, 11, 185, 186, 186, 187, 187, 188, 189, 311 theorem, 263 thm, 110112, 115117, 121, 122 thm*, 121 thmA, 117 thmB, 117 thmbreak, 122 ThreePartTable, 178 threeparttable, 177, 177 titlingpage, 309, 320 varwidth, 159, 356 verbatim, 238, 239, 241, 262 verbatim*, 238 Vmatrix, 68, 68 vmatrix, 68, 68 xy, 106 zorn, 111

\fancyhead

(fancyhdr)

eqnarray (environment), 46, 94, 327, 331, 372 \eqref, 46, 46, 95, 96, 98, 123 \equal, 353 \equal (xifthen), 353 \equation, 123 equation (environment), 8, 43, 43, 45, 46, 91, 92, 94, 96, 105, 107, 332 equation (tller), 95 \equation*, 118 equation* (environment) \[. . . \], 44 equation* (environment), 41, 41, 43, 43, 44, 45, 52, 56, 91, 98, 107 \equiv (), 66, 67 esint (pakke), 53 eso-pic (pakke) baggrundsbillede, 147 eso-pic (pakke), 147, 147, 148, 149 \eta (), 48 etex (pakke), 384 etoolbox (pakke), 345 eulervm (pakke), 222, 222, 388 evince (fremviser), 363 evince (program), 7, 126 \exa (siunitx prex), 255 Excel (program), 156 A Excel til L TEX, 182 excel2latex (program), 182 \excludecomment, 295 \exists (), 50 \exp (mat. operator), 56 \externaldocument, 299 \extrarowheight (lngde), 174 F falign (environment), 88 falign* (environment), 88 fancy (pagestyle), 282, 283 \fancybreak, 20, 20 \fancybreak (memoir), 330, 330 \fancyfoot, 283, 285, 286 \fancyfoot (fancyhdr), 283, 284 fancyhdr (pakke) fjerne linier, 284 fancyhdr (pakke) \fancyfoot, 283, 284 \fancyhead, 283, 284 \fancyhf, 283 \footrulewidth, 283, 284 \headrulewidth, 283, 284 ikke anvendes med memoir, 282 fancyhdr (pakke), 282, 283, 285, 285, 286, 286, 301, 399 \fancyhead, 283, 285, 286 \fancyhead (fancyhdr), 283, 284 412

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

eps boundingbox problemer med, 149 dvipdfmx, 126 eps (grak format), 125, 128 eps2eps (program), 149 epsg (pakke), 128 epsg (pakke, brug ikke), 388 \epsilon, 47 \epsilon ( ), 47, 48 epstool (program), 149, 150 epstopdf (program), 126, 127, 150, 363

\fancyhf

Stikordsregister

fontskift

283, 285, 286 (fancyhdr), 283 fancyref (pakke), 298, 299, 398 fancyvrb (pakke), 238, 239, 374 \farad (siunitx enhed), 254 \fbox, 101, 130, 142145, 149, 235, 357 \fboxrule, 235 \fboxrule (lngde), 357 \fboxsep, 235 \fboxsep (lngde), 357 \fcolorbox, 234, 235 fed, 30 fejlmeddelelser, Se afsnit D.1 \femto (siunitx prex), 255 \fi, 131, 132, 279 gur* oats i to sjler, 135 gure (environment), 11, 34, 134, 135, 138140, 141, 142, 143, 144, 144146, 156, 273, 372 \figurename, 219 le (BibTEX felt), 196 lecontents* (environment), 182 \firmlist, 230, 340 \firmlist (memoir), 228, 340 \firmlists (memoir), 228 x-cm (pakke), 226, 385 xltx2e (pakke), 31, 31, 385 \fixme, 372 xme (pakke) \fxerror, 296 \fxfatal, 296 \fxnote, 296 \fxsetup, 296 \fxwarning, 296 \listoffixmes, 296 xme (pakke), xxi, 295, 296, 385 fjerne sidetal, 282 after (pakke), 138 align (environment), 88 align*, 88 eqn (klasse option), 12, 331 erliniet matematik kasse om, 101 oat (pakke), 138 oat(s) lost \fixme, 372 marginpar, 372 \FloatBarrier, 137, 137, 138, 138, 145, 341, 374, 385 oatt (pakke), 146 \floatpagefraction, 136 oats, 134 \floatsep (lngde), 136 FlushLeft (environment), 35 ushleft (environment), 35, 218, 239, 320
\fancyhf, \fancyhf

FlushRight (environment), 35 ushright (environment), 35, 35, 218 \fodnote, 176 fodnoter, 33, 215 font antikva, 30 \bfseries, 30 \em, 30 \emph, 30 fed, 30 fontskift, 29 \footnotesize, 29 fremhvet, 30 \Huge, 29 \huge, 29 italic, Se kursiv \itshape, 30 kursiv, 30 \LARGE, 29 \Large, 29 \large, 29 \mdseries, 30 monospace, 30 normal tekst, 30 \normalfont, 30 \normalsize, 29 \rmfamily, 30 sans serif, 30 \scriptsize, 29 \scshape, 30 \sffamily, 30 slantet, 30 \slshape, 30 \small, 29 small caps, 30 strrelse, 28 \textbf, 30 \textmd, 30 \textrm, 30 \textsf, 30 \textit, 30 \textnormal, 30 \textsc, 30 \textsl, 30 \texttt, 30 \textup, 30 \tiny, 29 \ttfamily, 30 \upshape, 30 fontenc (pakke), 8, 14, 14, 17, 17, 22, 27, 240, 385, 387 \fontsize, 226 fontskift, 29 \bfseries, 30 \em, 30 \emph, 30 413

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

fontstrrelser
\itshape,

Stikordsregister

\fronmatter

30 30 \normalfont, 30 \rmfamily, 30 \scshape, 30 \sffamily, 30 \slshape, 30 \textbf, 30 \textit, 30 \textmd, 30 \textnormal, 30 \textrm, 30 \textsc, 30 \textsf, 30 \textsl, 30 \texttt, 30 \textup, 30 \ttfamily, 30 \upshape, 30 fontstrrelser, 28 \footnotesize, 29 \Huge, 29 \huge, 29 \LARGE, 29 \Large, 29 \large, 29 \normalsize, 29 \scriptsize, 29 \small, 29 \tiny, 29 \footcite, 203 footmisc (pakke), 215, 216 \footnote, 33, 215, 216, 372 footnote (tller), 215 \footnotemark, 215 \footnotesize, 29 \footnotetext, 215 \footruleskip (memoir), 310 \footrulewidth (fancyhdr), 283, 284 \For, 272 forge afstand mellem linier/rkker i matematik, 86 \ForAll, 272 \forall, 80 \forall (), 43, 50 \foreignlanguage, 217, 218 formelbrydning, 7985 alignment almindelig, 83 brudt hegn, 84 brudte linier, 83, 84 multline, 84 udregning, lange linier, 83 automatisk, 81 automatisk indsttelse af gangetegn, 82
\mdseries,

fremhvede formler, 8285 sideskift, 9394 her m ikke deles, Se \nobreak indsttelse af ombrydningspunkt, 81 indsat spacing, 80 integraltegn, 80 store operatorer, 80 ved /, 80 ved omkransning af hegn, 80 ved operator, 80 ved par af hegn, 80 ved relation, 80 ved usynligt gangetegn, 82 formelnummer genbrug af, 95 kongurering af, 95 \numberwithin, 95 vis kun refererede, 98 vis kun refererede formler, 98 formelombrydning i teksten, 79 formelopstning samling af formler, 84, 85 forside IMF krav til, 303 louises forside, 317 louises forside kildekode, 316 strits forside, 319 strits forside kildekode, 318 fourier (pakke), 34, 223, 223, 318, 330 fouriernc (pakke), 223 \frac, 41, 66, 66, 67, 98 frame (environment), 260, 260, 261, 261, 262, 263, 263, 264 \framebox, 357 framed (pakke), 119, 181, 215, 235 framed.sty (pakke), 391 \frametitle (beamer), 260, 260, 261, 264 Frankfurt (beamer), 261, 264 fremhvede formler centreret, 89 ere centrerede linier med t nummer, 92 fremhvet, 30, 41 fremvisere acroread, 363 evince, 363 ggv, 363 ghostscript, 363 gv, 363 kghostview, 363 kpdf, 363 xdvi, 363 xpdf, 363 \frenchspacing, 26, 26 \fronmatter, 314 414

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

frontmatter

Stikordsregister
\newacronym,

gv

(program)

frontmatter tekst uden nummer, men med i ToC, 321 \frontmatter, 294, 320, 320, 322 \Function, 272 funktioner navngivne, 56 \fxerror (xme), 296 \fxfatal (xme), 296 \fxnote (xme), 296 \fxsetup (xme), 296 \fxwarning (xme), 296 G gaelfunktion, 71 \Gamma ( ), 48 \gamma (), 48 Garamond, 224 gather (environment), 89, 89, 90, 91, 91, 92, 93, 95, 96 gather* (environment), 71, 84, 85, 269 gathered (environment), 92, 92, 94 gauss (pakke), 71, 71 \add, 71 \colops, 71 gmatrix, 71 \mult, 71 \rowops, 71 \swap, 71 \geometry, 278 geometry (pakke), 277279, 279, 280, 306, 307, 324, 350 \geq, 80 \geq (), 43, 49 \geqq ( ), 49 \geqslant ( ), 49 getnonfreefonts (program), 221, 240 \gg ( ), 49 \ggg ( ), 49 ggv (fremviser), 363 ghostscript (fremviser), 363 ghostscript (program), 126 ghostview (program), 9 \GHz (siunitx enhed), 255 \giga (siunitx prex), 255 \gigahertz (siunitx enhed), 255 glossaries (pakke), 247, 249, 250, 388 \addgls, 249 \Gls, 249 \gls, 249 \glsaddall, 249 \glsdisp, 249 \glslink, 249 \glspl, 249 \loadglsentries, 247 \makeglossaries, 247 415

247
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

248 glossary (pakke, brug ikke), 388 \Gls (glossaries), 249 \gls (glossaries), 249 \glsaddall (glossaries), 249 \glsdisp (glossaries), 249 \glslink (glossaries), 249 \glspl (glossaries), 249 gmatrix (environment), 71 Gnumeric (program), 182 gnuplot (program), 150 grak A anvende grak i bde L TEX og A pdfL TEX, 130 automatisk vlge format, 130 dele en oat, 146 hentet fra andre biblioteker, 132 inkludere dele af et andet dokument, 133 A METAPOST og pdfL TEX, 131 grak format eps, 125, 128 jpg, 126 mps, 126 pdf, 126, 128 png, 126 PostScript, 126 svg, 127, 128 \graphicspath, 132, 132, 133 graphicx (pakke)
\includegraphics

\newglossaryentry,

angle, 129, 130 clip, 130, 130 height, 129, 129, 130, 139, 140, 147, 148, 372 keepaspectratio, 129, 130, 130 origin, 129 scale, 129 totalheight, 129, 372 trim, 130, 130, 349 viewport, 130 width, 129, 129, 130, 139, 140, 147, 148 graphicx (pakke), xi, 50, 128, 131, 145, 147, 306, 357, 385, 388, 392 \grave, 61 \gray (siunitx enhed), 254 grle (pakke), 131 gsview (program), 7 gsview32 (program), 9 \guillemotleft (), 24 \guillemotright (), 24 gv (fremviser), 363 gv (program), 9

\H

(ungarsk umlaut)

Stikordsregister
\ifnum, \ifpdf,

\includepdf

H (ungarsk umlaut), 27 h-vor, 218 handout (beamer), 264, 264, 265 harvard (pakke), 187, 400 \hat, 60, 61 \hbar ( ), 50 \hbox, 82 headings (pagestyle), 282, 284, 310, 312 headings (pagestyle, memoir), 309, 312, 326 \headrulewidth, 283, 285, 286 \headrulewidth (fancyhdr), 283, 284 \heartsuit (), 50 \heavyrulewidth (booktabs), 162, 163 \hectare (siunitx enhed), 254 \hecto (siunitx prex), 255 hegn, 62, 63 tom, 64 height (graphicx), 129, 129, 130, 139, 140, 147, 148, 372 \height (lngde), 357 \heightof, 350 helvet (pakke), 225 Helvetika, 225 \henry (siunitx enhed), 254 \hertz (siunitx enhed), 254, 255 hest, 65 \hfill, 139, 140, 144, 354 \hfuzz, 333, 377 \hline, 69, 161, 162, 174, 177, 179 \hom (mat. operator), 56 \hookleftarrow ( ), 51 \hookrightarrow ( ), 51 horeunger, 333 \hour (siunitx enhed), 254 howpublished (BibTEX felt), 193 \hphantom, 93, 94, 94 \hrule, 143 \hslash ( ), 50 \hspace, 145, 354, 357 \hspace*, 354 \Huge, 29, 69 \huge, 29 hyperref (pakke), 40, 242, 249, 273, 274, 299, 329, 385 \hyphenation, 23, 23, 217 \Hz (siunitx enhed), 255
\H

I
\iddots, \If,

), 53 272 \ifdim, 352 \iff ( ), 51 \iflanguage, 218


\idotsint

60 (

328, 352 131, 132, 279 ifpdf (pakke), 131, 131, 132, 132, 279 ifsym (pakke), 385 ifthen (pakke), 352 \ifthenelse (xifthen), 352 \ifx, 132 \iiiint ( ), 53 \iiint ( ), 53 \iint ( ), 53 ikke anbefalede pakker a4, 387 a4wide, 388 ae, 388 aecompl, 388 epsg, 388 glossary, 388 isolatin1, 387 latexsym, 388 mathptm, 388 numprint, 388 palatino, 388 psg, 388 pslatex, 388 sistyle, 388 siunit, 388 subgure, 387 t1enc, 387 times, 388 \Im, 57, 57 \Im ( ), 50 Imagemagick (program), 364 \imath (), 50 \in (), 49, 50 inbook (BibTEX type), 193 \include, 291294, 323 \includecomment, 295 includegraphics orden af options, 130 \includegraphics, 129, 129, 130, 130, 131, 139, 140, 147, 147, 148, 349, 357, 372, 388 angle, 129, 130 clip, 130, 130 height, 129, 129, 130, 139, 140, 147, 148, 372 keepaspectratio, 129, 130, 130 origin, 129 scale, 129 totalheight, 129, 372 trim, 130, 130, 349 viewport, 130 width, 129, 129, 130, 139, 140, 147, 148 \includeonly, 292, 293 \includepdf, 133, 133, 148, 281, 324

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

416

incollection (BibTEX type)

Stikordsregister
jpeg2ps

lngde (program), 127, 364


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

incollection (BibTEX type), 196, 202 indeks, Se sikordsregister \indent, 89 indentrst (pakke), 22 \index, 242, 243, 297 \indexname, 219 \indexspace, 243 indextitlepagestyle (pagestyle, memoir), 309, 313 indholdsfortegnelse tvunget sideskift, 288 \inf (mat. operator), 56, 57 infolines (beamer), 261 \infty (), 50 inline, 41 \inner, 98, 98 inparaenum (environment), 230 inproceedings (BibTEX type), 193 \input, 180, 291294 inputenc (pakke), 8, 14, 14, 17, 17, 18, 27, 28, 221, 385, 387 inputencoding ansinew, 17 applemac, 17 latin1, 8, 14, 17, 17 utf8, 17 \insertchapterspace, 328 \insertpng, 148 \insertTableNotes, 178 \InsertTheoremBreak, 122 \institute (beamer), 261, 261 \int ( ), 52, 53 \intertext, 89, 89, 93, 333 \intextfloatsep (lngde), 136 \iota (), 48 \isempty (xifthen), 353 \isin (xifthen), 353 \isodd (xifthen), 353 isolatin1 (pakke, brug ikke), 387 issn (BibTEX felt), 193 \it, 29 italic, Se kursiv \item, 36, 36, 37, 38, 38, 122, 177, 177, 271 itemize (environment), 36, 38, 228, 229, 231, 233, 374 itemize (liste), 36 \itemsep (lngde), 122 \itshape, 29, 30 J (program), 206, 209, 210 (program), 364 \jmath (), 50 \joule (siunitx enhed), 254 journal (BibTEX felt), 193, 196 jox (BibTEX stil), 202
jabref jepg2eps

jpg dvipdfmx, 126 pdatex, 126 jpg (grak format), 126 jurabib (BibTEX stil), 203 jurabib (pakke), 185, 196, 202, 202, 203, 203, 204, 205 K (accent ogonek), 27 (siunitx enhed), 255 \kappa (), 48 \katal (siunitx enhed), 254 keepaspectratio (graphicx), 129, 130, 130 \kelvin (siunitx enhed), 254 \ker (mat. operator), 56 \keV (siunitx enhed), 255 keyval (pakke), 339, 385 \kg (siunitx enhed), 254, 255 kghostview (fremviser), 363 \kHz (siunitx enhed), 255 Kile (editor), 362 kile (program), 362 \kilo (siunitx prex), 255 \kiloampere (siunitx enhed), 255 \kiloelectronvolt (siunitx enhed), 255 \kilogram (siunitx enhed), 254, 255 \kilohertz (siunitx enhed), 255 \kilojoule (siunitx enhed), 255 \kilometre (siunitx enhed), 255 \kilovolt (siunitx enhed), 255 \kJ (siunitx enhed), 255 kluwer (BibTEX stil), 202 \km (siunitx enhed), 255 kolofon, 302 kommentar i alignment, 89 kongurering af formelnummer, 95 Konvertering A Excel til L TEX, 182 kpdf (fremviser), 363 kpdf (program), 362 kpfonts (pakke), 53, 73, 385 kursiv, 30 \kV (siunitx enhed), 255 kvadratrod, Se \sqrt
\k \kA

L
\L \l

(), 27 (), 27 l (sjle specier), 156, 159, 160, 163, 177, 179 lngde \cellspacebottomlimit, 174, 174 \cellspacetoplimit, 174, 174 \columnsep, 351

417

lngde
\depth,

Stikordsregister 357 174


\leftarrow

\ll

( )

\extrarowheight,

357 \fboxsep, 357 \floatsep, 136 \height, 357


\intextfloatsep, \itemsep, \linewidth,

\fboxrule,

136

122 129, 170, 171, 351 \paperheight, 147, 148, 351 \paperwidth, 147, 148, 351 \parsep, 122 \tabcolsep, 175 \textfloat, 136 \textheight, 129, 351, 386 \textwidth, 129, 129, 139, 140, 144, 170, 170, 310, 351, 386 \theorempostskipamount, 117, 120 \theorempreskipamount, 120 \totalheight, 357 \unitlength, 351 \width, 357 lngde \@tempdima, 344 \@tempdima, 350 \@tempdimb, 350 \@tempdimc, 350 \label, 31, 31, 32, 32, 38, 38, 46, 46, 94, 95, 95, 96, 98, 123, 134, 138, 140, 141, 145, 297, 351 \Lambda (), 48 \lambda (), 48 landscape (environment), 180 \langle, 98 \LARGE, 29 \Large, 29 \large, 29, 114, 226 lastsheet (tller, memoir), 328, 328 \LaTeX, 4, 11, 194, 320
\LaTeX

udtalen af, 4 (program), 7, 9, 102, 130, 131, 146, 150, 188, 208, 244, 273, 279 latexmk (program), 244, 245 latexsym (pakke), 47 latexsym (pakke, brug ikke), 388 Latin Modern, 221 latin1 (inputencoding), 8, 14, 17, 17 \ldotp, 60 \ldots, 59, 59, 60 \leadsto ( ), 51 Led (editor), 367 Led (program), 362 \left, 45, 63, 63, 64, 64, 6769, 72, 72, 98, 332, 382 \Leftarrow (), 51
latex

(), 51 ( ), 51 \leftharpoonup ( ), 51 \leftmark, 284, 285, 285, 286, 309311, 312, 326 \leftoverarrow, 61 \Leftrightarrow (), 51 \leftrightarrow (), 51 \leftrightarroweq ( ), 51 \leftrightarrows ( ), 51 \leftrightharpoons ( ), 51 lemma (environment), 111, 115117 lemme (environment), 263 \leq (), 49 leqno (klasse option), 12 \leqq ( ), 49 \leqslant ( ), 49 \lessapprox ( ), 49 \let, 137, 171, 192, 341 letter (klasse option), 12 letter (klasse), 13, 20, 235, 305 letterspace, 227 letterspacing, 227 \lg (mat. operator), 56 lgathered (environment), 92, 99, 99 ligaturer, 24 \lightning ( ), 51 \lightrulewidth (booktabs), 162, 163 \lim (mat. operator), 56, 57 \limext, 57 \liminf (mat. operator), 56 \limits, 49, 52, 52 \limsup (mat. operator), 56 \linebreak, 82, 333 \linespread, 226, 227, 227 \linespred, 327 \linewidth (lngde), 129, 170, 171, 351 linieafstand, 226 \lipsum, 220, 220 lipsum (pakke), 219, 220, 220, 385 lister, 36 description, 38 enumerate, 37 itemize, 36 \listfigurename, 219 listings (pakke), 239, 241, 262, 333, 385, 394, 396 \listoffigures, 304 \listoffixmes (xme), 296 \listoftables, 304 \listtablename, 219 \liter (siunitx enhed), 254 \litre (siunitx enhed), 254 litteraturliste, Se bibliogra seebibliogra, 185 \ll ( ), 49
\leftharpoondown

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

418

\llap

Stikordsregister
\makeoddfoot, \makeoddfoot

\mathscr

106 ( ), 49 lmodern (pakke), 17, 25, 221, 222, 226 \ln (mat. operator), 56 \loadglsentries (glossaries), 247 \log, 338 \log (mat. operator), 56 \longleftarrow (), 51 \longleftrightarrow (), 51 \longmapsfrom (), 51 \longmapsto (), 51 longnamesrst (natbib option), 192 \longrightarrow (), 51 longtable (pakke) \endfirsthead, 172, 173 \endfoot, 173 \endhead, 172, 173 \endlastfoot, 172, 173 longtable (environment), 160, 172, 173, 177, 178, 180, 246, 396 longtable (pakke), 171, 172, 176, 178, 385 \Loop, 272 Lorem ipsum, 219 \lozenge (), 50 lrbox (environment), 358 lscape (pakke), 180 \lstinputlisting, 239 Luebeck (beamer), 263 \lumen (siunitx enhed), 254 \lux (siunitx enhed), 254 LuxiMono, 225 luximono (pakke), 225, 240 lVert (delimiter), 62 \lvert, 98, 98 lvert (delimiter), 62 Lyx (editor), 363
\llap, \lll

258 (memoir), 309, 312 \makeoddhead (memoir), 309, 310, 312, 313 \makepagestyle (memoir), 309, 310, 312 \makepsmarks (memoir), 309, 311, 312 \maketitle, 39, 39, 215, 216, 282, 282, 309, 328
\maketitle

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

M (siunitx enhed), 255 mailing (pakke), 235 \mainmatter, 294, 314, 322, 328 \makeaother, 120 \makeatletter, 25, 120, 344, 345, 374 \makeatother, 25, 344, 345, 374 \makebox, 50, 357 makebst (program), 202, 205, 393 \makeevenfoot, 258 \makeevenfoot (memoir), 309, 310, 312 \makeevenhead (memoir), 309, 312, 313 \makefootrule (memoir), 309, 310 \makeglossaries (glossaries), 247 makeglossaries (program), 247, 250 \makeheadrule (memoir), 309, 310 makeidx (pakke), 219, 242 \makeindex, 242 makeindex (program), ix, 243246, 386, 401
\mA

sidetal, 282 \MakeUppercase, 318 makro denere egne, 337 gemme indhold, 341 omdenere, Se \renewcommand makroer, 11 \mapsfrom (), 51 \mapsto (), 51 margin (theoremstyle, nthm), 115 marginbreak (theoremstyle, nthm), 115, 116 \marginpar, 372 \marginpars, 374 \markboth, 284 \markright, 284, 285, 286 \markup, 384 matematik, 4174, 79107 \ , 42 alignment align, 87 alignat, 87 mode, 41 matematik-mode, 41 math unit, 42 math-mode, Se matematik-mode \mathbb, 43, 54, 65, 72 \mathbbm, 54 \mathbf, 54, 56, 56 \mathbin, 382 \mathcal, 54, 338 \mathchoice, 53, 67 \mathclap, 62, 62, 99 mathdesign (pakke), 224, 224 mathdots (pakke), 60, 60 \mathds, 54 \mathfrak, 54 \mathit, 54, 54, 55, 267 \mathop, 49, 382 \mathord, 382 mathpazo (pakke), 222, 222, 388 mathptm (pakke, brug ikke), 388 mathptmx (pakke), 222, 222, 388 \mathrel, 50, 382 \mathring, 61 \mathrlap, 99, 99 \mathrm, 54, 55, 56, 256 \mathscr, 54 419

\mathsf

Stikordsregister
\checkandfixthelayout,

memoir (klasse)

\mathsf, \mathsl,

54 54 \mathstrut, 73 mathtools (pakke) hack ved brede grnser, 97 showmanualtags, 98 showonlyrefs, 98 mathtools (pakke), 52, 62, 62, 66, 66, 68, 68, 72, 72, 82, 89, 89, 90, 92, 95, 97, 97, 98, 98, 99, 99, 101, 327, 332, 345, 385 dcases, 72 \mathtoolsset, 98 matricer array, 69 Bmatrix, 68 bmatrix, 68 matrix, 68 pmatrix, 68 Vmatrix, 68 vmatrix, 68 matrix mere end 10 sjler, 69 matrix (environment), 68, 68, 69 \max (mat. operator), 56, 57 MaxMatrixCols (tller), 69 \maxsecnumdepth (memoir), 289, 314, 314, 315 \mbox, 23, 218, 357 \mc, 165 \mdseries, 30 \measuredangle ( ), 50 measuredgure (environment), 143 medspace (\:), 42 \mega (siunitx prex), 255 \megaelectronvolt (siunitx enhed), 255 \megahertz (siunitx enhed), 255 memhxc (pakke), 273 memoir (klasse) \addlinespace, 162, 163 \addtopsmarks, 311, 312 \aliaspagestyle, 309, 310 \appendixpage, 322 \appendixpagename, 322 \appendixtocname, 322 \backmatter, 322 \bibmark, 311 \bibsection, 324 \bottomrule, 162, 163 \calccentering, 320 \cftXnumwidth, 315 \chapnamefont, 314 \chapnumfont, 314
\chapterstyle

section, 326
\chaptitlefont,

314 420

308, 308, 324 325 \cmidrule, 162164 \cmidrulewidth, 162 \copypagestyle, 309, 310, 313, 313 \counterwithin, 352 \counterwithout, 96, 352 \createmark, 311 \createplainmark, 311 \DoubleSpacing, 326 \fancybreak, 330, 330 \firmlist, 228, 340 \firmlists, 228 \footruleskip, 310 \heavyrulewidth, 162, 163 \lightrulewidth, 162, 163 \makeevenfoot, 309, 310, 312 \makeevenhead, 309, 312, 313 \makefootrule, 309, 310 \makeheadrule, 309, 310 \makeoddfoot, 309, 312 \makeoddhead, 309, 310, 312, 313 \makepagestyle, 309, 310, 312 \makepsmarks, 309, 311, 312 \maxsecnumdepth, 289, 314, 314, 315 \midrule, 162, 163 \normalrulethickness, 310 \nouppercaseheads, 312, 312 \OnehalfSpacing, 326, 327 overskrive plain pagestyle, 313 \raggedbottomsectiontrue, 314 \setlrmargins, 308 \setlrmarginsandblock, 308 \setpnumwidth, 315 \setrmarg, 315 \setsecheadstyle, 314 \setsecnumdepth, 289, 314, 314, 315 \setsubsecheadstyle, 314 \setsubsubsecheadstyle, 314 \settocdepth, 287, 314, 314, 315 \settrimmedsize, 280 \settypeblocksize, 308 \setulmargins, 308 \setulmarginsandblock, 308 \SingleSpacing, 326 \specialrule, 162 \stockwidth, 280 \tightlist, 228, 340 \tightlists, 228 \titleref, 330 \tocmark, 311 \toprule, 162, 163 \trimedge, 280 memoir (klasse), xvii, xviii, xxi, 12, 13, 20, 20, 31, 33, 39, 82, 96, 119, 131, 135, 136, 141, 145, 157, 158, 160,
\cleartorecto,

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

mempatch (pakke)

Stikordsregister (|=), 49 modulus \bmod, 67 \mod, 67 \pmod, 67 \pod, 67 \mole (siunitx enhed), 254 monospace, 30 month (BibTEX felt), 193 \MoveEqLeft, 100, 100, 338 MoveEqLeft (pakke), 100 \MP, 320, 320, 385 \mp ( ), 49 mps dvipdfmx, 126 pdatex, 126 mps (grak format), 126 \ms (siunitx enhed), 255 \mu (), 48 \mult (gauss), 71 multibib (pakke) \bibliographysec, 207
\models

natbib (pakke)

162, 164, 170, 174, 178, 181, 213216, 219, 227, 229, 235, 238, 242, 243, 246, 258, 260, 265, 273, 274, 277, 280, 282, 283, 285289, 299, 301, 303, 305316, 320330, 339341, 350, 352, 373, 376, 389, 391, 393396, 399, 400 adjustwidth, 321 adjustwidth*, 179, 320 subappendices, 214 titlingpage, 309, 320 mempatch (pakke), 305 METAPOST, 131 \meter (siunitx enhed), 254 \metre (siunitx enhed), 254 \MeV (siunitx enhed), 255 \meV (siunitx enhed), 255 \MF, 385 mogo (pakke), 320, 385 \mg (siunitx enhed), 255 mhchem (pakke), 268, 269, 270, 270 \mho ( ), 50 \MHz (siunitx enhed), 254, 255 \mHz (siunitx enhed), 255 \micro (siunitx prex), 255 \micrometre (siunitx enhed), 255 \microsecond (siunitx enhed), 255 microtype (pakke), 385 \mid (|), 49, 63, 63 \middle, 64, 64 \midrule, 163166, 171, 182 \midrule (booktabs), 162, 163 \milli (siunitx prex), 255 \milliampere (siunitx enhed), 255 \millielectronvolt (siunitx enhed), 255 \milligram (siunitx enhed), 255 \millihertz (siunitx enhed), 255 \millilitre (siunitx enhed), 255 \millimetre (siunitx enhed), 255 \millisecond (siunitx enhed), 255 \millivolt (siunitx enhed), 255 \min (mat. operator), 56, 57 miniframes (beamer), 261, 264 minimalt eksempel, 7 minipage (environment), 139, 139, 140, 140, 141, 144, 144, 145, 235, 350, 355357, 372, 373, 391 \minute (siunitx enhed), 254 \missingfigure, 297 mkind (program), 244, 245 \ml (siunitx enhed), 255 \mm (siunitx enhed), 255 \mmHg (siunitx enhed), 254 MnSymbol (pakke), 50 \mod, 67, 67 \mode (beamer), 265 421

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

207, 208 207 \newcite, 207 \newcites, 207 \nocitesec, 207 multibib (pakke), xiii, 206208 multicol (pakke), 12, 385 multicols (environment), 385 \multicolumn, 158, 159, 161, 161, 163, 165, 165, 166, 171, 172, 175
\citesec, \multicolumn

\bibliographystylesec,

anvendt som beskyttelse, 165 \multirow, 161, 161, 162 multirow (pakke), 161, 161, 162 \multirowsetup, 161, 162 multline (environment) drligt eksempel, 90 \shoveleft, 90 \shoveright, 90 multline (environment), 84, 90, 90, 93 multline* (environment), 84, 90 multlined (environment), 92 \mV (siunitx enhed), 255 N ( ), 50 (siunitx prex), 255 \nanometre (siunitx enhed), 255 natbib (pakke), 187, 189, 190, 190, 191, 191, 192, 199, 200, 200, 201, 201, 202, 202, 204, 205, 324, 376, 385, 393 \cite*, 190 \citealp, 190
\nabla \nano

nath (pakke) 190 190 \citeauthor*, 190 \citep, 190 \citep*, 190 \citepalias, 191 \citet, 189 \citet*, 190 \citetalias, 191 \citeyear, 190 \citeyearpar, 190 \defcitealias, 191 pakke options authoryear, 191 colon, 191 comma, 191 longnamesrst, 192 numbers, 191, 191, 200 round, 191 semicolon, 191 sort, 192 sort&compress, 192 square, 191, 191 super, 191, 200 nath (pakke), 331 navngivne operatorer denere egne \operatorname, 57 navngivne operatorer, 56 \arccos, 56 \arcsin, 56 \arctan, 56 \arg, 56 \cos, 56 \cosh, 56 \cot, 56 \coth, 56 \csc, 56 denere egne \DeclareMathOperator, 57 \DeclareMathOperator*, 57 \deg, 56 \dim, 56 \exp, 56 \hom, 56 \inf, 56, 57 \ker, 56 \lg, 56 \lim, 56, 57 \liminf, 56 \limsup, 56 \ln, 56 \log, 56 \max, 56, 57 \min, 56, 57 \Pr, 56
\citeauthor, \citealt,

Stikordsregister
\sec, \sin,

\nexists

( )

56 56 \sinh, 56 \sup, 56, 57 \tan, 56 \tanh, 56 \ndownarrow, 50, 51 \nearrow ( ), 51 \needspace, 243 needspace (pakke), 243 \neg (), 50 negering af symbol, 49 \negmedspace, 42 \negthickspace, 42 \neper (siunitx enhed), 254 \neq, 85 \neq ( ), 49 New Century Schoolbook, 223 \newacronym (glossaries), 247 \newboolean (xifthen), 353 \newcite, 207 \newcites, 207 \newcolumntype, 160, 160, 165 newcommand ndre eksisterende makro, Se
\renewcommand

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

med argumenter, 339 med standard frste argument, 339 uden argumenter, 338 \newcommand, 52, 65, 68, 120, 122, 145, 337, 338, 338, 339, 340, 343, 371, 382 * efter \newcommand, 337 \newcounter, 351 \newenvironment, 120, 342, 343 \newframedtheorem (ntheorem), 119 \newglossaryentry (glossaries), 248 \newlength, 349 \newline, 82, 140, 158, 159, 213, 213 \newpage, 20, 148, 173, 288, 298, 320, 333 \newsavebox, 358 \NewShadedTheorem, 120, 121, 121 \newshadedtheorem, 120 \newshadedtheorem (ntheorem), 119, 120 \newtheeorem*, 111 \newtheorem, 110, 110, 111, 111, 112, 112, 114, 115, 115, 117120, 122, 123, 263
\newtheorem

flles tller, 111 syntaks, 110 underlagt anden tller, 110 \newtheorem (ntheorem), 121 \newtheorem*, 114, 117 \newtheorem* (amsthm), 111 \newton (siunitx enhed), 254 \nexists ( ), 50 422

\NG

()

Stikordsregister

onlyamsmath (pakke)

(), 27 \ng (), 27 \ni ( ), 49, 50 \nLeftarrow ( ), 51 \nleftarrow ( ), 51 \nLeftrightarrow ( ), 51 \nleftrightarrow ( ), 51 \nm (siunitx enhed), 255 \nnearrow ( ), 51 \nnwarrow ( ), 51 \nobreak, 25, 81 \nobreakodash, 25 \nocite, 188, 189, 189, 207 \nocitesec, 207 \noeqref, 99 \noindent, 20, 143 noitemsep (enumitem), 232 \nolimits, 52, 52 nomencl (pakke), 246 \nonfrenchspacing, 26 \nonumber, 45, 45, 46, 89, 94 nonumberbreak (theoremstyle, nthm), 116, 118 nonumberplain (theoremstyle, nthm), 116, 118 \noopsort, 204 normal tekst, 30 \normalfont, 30, 114, 115, 116, 119, 121 \normalrulethickness (memoir), 310 \normalsize, 29, 114, 226 \not, 49, 49 \NOT (xifthen), 353 \notag, 45, 94 note (BibTEX felt), 193, 193, 195 notheorem (beamer), 263 notheorems (beamer), 263 \notin ( ), 49 \nouppercase, 286, 286 \nouppercaseheads (memoir), 312, 312 \nRightarrow ( ), 51 \nrightarrow ( ), 51 ntheorem (pakke) theoremstyle break, 115, 116, 122 change, 115 changebreak, 115 empty, 116, 119, 119 emptybreak, 116 margin, 115 marginbreak, 115, 116 nonumberbreak, 116, 118 nonumberplain, 116, 118 plain, 115, 122 ntheorem (pakke), 111114, 114, 115, 115, 116, 116, 117, 117, 118, 118, 119,
\NG

119, 120, 121, 122, 123, 373, 385, 396 \newframedtheorem, 119 \newshadedtheorem, 119, 120 \newtheorem, 121 \theorembodyfont, 114 \theoremclass, 115 \theoremframcommand, 120 \theoremframecommand, 119, 120 \theoremheaderfont, 114 \theoremindent, 114 \theoremnumbering, 114 \theoremseparator, 114 \theoremstyle, 114, 115 \theoremsymbol, 114 options amsmath, 114 thmmarks, 114 \nu (), 48, 221 \null, 320 \num, 167 \num (siunitx), 251253, 256 number (BibTEX felt), 193 \numberline, 287 numbers (natbib option), 191, 191, 200 \numberwithin, 95, 95, 352 nummereret liste, 36 numprint (pakke, brug ikke), 388 \numrange (siunitx), 252 \nuparrow, 50, 51 \nwarrow ( ), 51 O \O, 28 \O (), 27 \o, 28 \o (), 17 \o (), 27 \odot ( ), 49 \OE (), 27 \oe (), 27 \ohm (siunitx enhed), 254 \oiint ( ), 53 \oint ( ), 53 \ointclockwise ( ), 53 \ointctrclockwise ( ), 53 okular (program), 126 \oldsection, 137 \Omega (), 48 \omega (), 48 onecolumn (klasse option), 12 \OnehalfSpacing (memoir), 326, 327 \onelineskip, 316 oneside (klasse option), 12, 325 onlyamsmath (pakke), 331 423

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

opcit (pakke)

Stikordsregister

pakker

opcit (pakke), 185 openany (klasse option), 13 \opening, 235 openright (klasse option), 13 operatorer navngivne, 56 prdenerede, 56 \operatorname, 57, 57 operatorsymboler, 49 opgave (environment), 119, 119 \oplus (), 49 optimering, 88 andet eksempel, 123 \OR (xifthen), 353 orddeling, 35 \-, 22 ingen, 35 organization (BibTEX felt), 193 origin (graphicx), 129 \oslash ( ), 49 otherlangiage (environment), 321 otherlanguage (environment), 217, 322 otherlanguage* (environment), 217 \otimes (), 49 overbrace, 72 \overbrace, 72, 72 \overbracket, 72 \overleftrightarrow, 61 \overline, 61 overpic (pakke), 147 \overrightarrow, 61 \overset, 52 P p (sjle specier), 159, 159, 160, 170 page (tller), 350 \pagebreak, 333 \pageref, 32, 32 pages (BibTEX felt), 193, 196 pagestyle, 281 \pagestyle, 39, 281, 282, 283, 285, 286, 310, 313 pagestyles chapter, 310 chapter (memoir), 309, 313 cleared (memoir), 309 empty, 39, 282 empty (memoir), 308, 309 fancy, 282, 283 headings, 282, 284, 310, 312 headings (memoir), 309, 312, 326 indextitlepagestyle (memoir), 309, 313 part (memoir), 309, 313 plain, 282 plain (memoir), 309, 313 title (memoir), 309 424

titlingpage (memoir), 309 pakke lave sin egen, 344 \makeatletter, 345 \makeatother, 345 pakker, 14 a4 (brug ikke), 387 a4wide (brug ikke), 388 ae (brug ikke), 388 aecompl (brug ikke), 388 afterpage, 138, 384 algorithm, 273 algorithmicx, 271273, 395 algpseudocode, 271 amsfonts, 47 amsmath, 8, 14, 14, 25, 41, 46, 52, 56, 60, 68, 69, 71, 86, 90, 9597, 101, 114, 117, 117, 118, 123, 165, 174, 221, 256, 269, 270, 327, 352, 373, 384, 393, 400 amssymb, 8, 14, 14, 41, 47, 56, 72, 101, 117, 118, 159, 221, 327, 385 amsthm, 111, 111, 112, 112, 113, 113, 114116, 327, 331 animate, 264, 264 anysize, 385 array, 157159, 159, 160, 160, 163, 164, 174, 397 ArrowBetweenLines, 99 babel, 8, 13, 13, 14, 14, 17, 17, 2225, 25, 26, 36, 105, 105, 112, 112, 113, 205, 216219, 221, 315, 321, 343, 374, 384 babelbib, 205 beramono, 226, 384 berasans, 225, 384 biblatex, 205, 211, 345 bibtopic, xiii, 206208 bibunits, 206 bigfoot, 215, 216, 238 blindtext, 220 blkarray, 70, 70 bm, 56, 56, 221, 327, 384 bookmark, 274 booktabs, 162, 163, 164, 164, 165, 166, 166, 174, 178, 181, 182, 393 boxedminipage, 356 breakurl, 273 breqn, 65, 257 calc, 234, 350, 351, 353, 372, 384 captiob, 142 caption, 141, 142, 142, 143, 143, 144, 145, 157, 177, 384, 386 cellspace, 167, 174, 174 chapterbib, 206, 323 chngcntr, 96, 352

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

pakker

Stikordsregister

pakker grle, 131 harvard, 187, 400 helvet, 225 hyperref, 40, 242, 249, 273, 274, 299, 329, 385 ifpdf, 131, 131, 132, 132, 279 ifsym, 385 ifthen, 352 indentrst, 22 inputenc, 8, 14, 14, 17, 17, 18, 27, 28, 221, 385, 387 isolatin1 (brug ikke), 387 jurabib, 185, 196, 202, 202, 203, 203, 204, 205 keyval, 339, 385 kpfonts, 53, 73, 385 latexsym, 47 latexsym (brug ikke), 388 lipsum, 219, 220, 220, 385 listings, 239, 241, 262, 333, 385, 394, 396 lmodern, 17, 25, 221, 222, 226 longtable, 171, 172, 176, 178, 385 lscape, 180 luximono, 225, 240 mailing, 235 makeidx, 219, 242 mathdesign, 224, 224 mathdots, 60, 60 mathpazo, 222, 222, 388 mathptm (brug ikke), 388 mathptmx, 222, 222, 388 mathtools, 52, 62, 62, 66, 66, 68, 68, 72, 72, 82, 89, 89, 90, 92, 95, 97, 97, 98, 98, 99, 99, 101, 327, 332, 345, 385 memhxc, 273 mempatch, 305 mogo, 320, 385 mhchem, 268, 269, 270, 270 microtype, 385 MnSymbol, 50 MoveEqLeft, 100 multibib, xiii, 206208 multicol, 12, 385 multirow, 161, 161, 162 natbib, 187, 189, 190, 190, 191, 191, 192, 199, 200, 200, 201, 201, 202, 202, 204, 205, 324, 376, 385, 393 nath, 331 needspace, 243 nomencl, 246 ntheorem, 111114, 114, 115, 115, 116, 116, 117, 117, 118, 118, 119, 119, 120, 121, 122, 123, 373, 385, 396

chngpage, 179 cite, 187, 187, 192, 391 cleveref, 298, 299 color, 119, 234, 384, 392, 395 colortbl, 181 column, 164 comment, 294, 295, 384 contmath, 224 cool, 338 csquotes, 23, 23, 384 curve, 334 datatool, 182, 182, 236 dcolumn, 68, 164, 165, 165, 166, 168, 169 dk-apali, 202 dk-bib, 199, 199, 205 dltxbcodetips, xx, 384 dltxbmarkup, 384 dltxbmisc, 384 dltxbtoccong, 384 ellipsis, 27 empheq, 72, 82, 101, 101, 395 endnotes, 216 enumerate, 37, 37, 228, 229, 231 enumitem, 38, 228, 230, 231, 234, 384 epsg, 128 epsg (brug ikke), 388 esint, 53 eso-pic, 147, 147, 148, 149 etex, 384 etoolbox, 345 eulervm, 222, 222, 388 fancyhdr, 282, 283, 285, 285, 286, 286, 301, 399 fancyref, 298, 299, 398 fancyvrb, 238, 239, 374 x-cm, 226, 385 xltx2e, 31, 31, 385 xme, xxi, 295, 296, 385 after, 138 oat, 138 oatt, 146 fontenc, 8, 14, 14, 17, 17, 22, 27, 240, 385, 387 footmisc, 215, 216 fourier, 34, 223, 223, 318, 330 fouriernc, 223 framed, 119, 181, 215, 235 framed.sty, 391 gauss, 71, 71 geometry, 277279, 279, 280, 306, 307, 324, 350 glossaries, 247, 249, 250, 388 glossary (brug ikke), 388 graphicx, xi, 50, 128, 131, 145, 147, 306, 357, 385, 388, 392 425

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Palatino

Stikordsregister

\phantom

numprint (brug ikke), 388 onlyamsmath, 331 opcit, 185 overpic, 147 palatino, 222, 388 palatino (brug ikke), 388 paralist, 228, 229, 385 pdfpages, 133, 133, 147, 148, 324 pgfpages, 5, 265, 265 picture, 147 placeins, 137, 341, 385 psg, 128 psg (brug ikke), 388 psfrag, 146, 147, 394 pslatex (brug ikke), 388 pstricks, 120 ragged2e, 35, 159, 159, 385 rotating, 179, 179 SASdisplay, 241, 242, 268 sectsty, 213 setspace, 227, 277 showidx, 297 showkeys, 297 sinutx, 254 sistyle (brug ikke), 388 siunit (brug ikke), 388 siunitx, 28, 164, 165, 167, 169, 170, 174, 182, 251254, 388 soul, 227, 228, 316, 318, 386, 393 stmaryrd, 47, 51, 53, 63, 386 Subg, 393 subg, 145, 145, 146, 386, 387 subgure, 145, 393 subgure (brug ikke), 387 svn-multi, 257, 258, 258, 386 svninfo, 258 Sweave, 268 t1enc (brug ikke), 387 tabularx, 170, 170 textcomp, 28, 386 threeparttable, 143, 166, 166, 176, 177, 386 threeparttablex, 177, 178, 178, 386 times (brug ikke), 388 titlesec, 213, 288, 289, 392 tocbibind, 288 tocloft, 288 todonotes, 295 truncate, 286 typearea, 306 url, 10, 39, 182, 195, 273, 372, 386, 391 varioref, 13, 13, 134, 274, 298, 386 varwidth, 356 verbatim, 238 verbatimcopy, 386 426

wrapg, 146 xcolor, 119, 181, 234, 235, 258 xifthen, 352, 353 xkeyval, 345, 392 xparse, 345, 386 xr, 299 xr-hyper, 299 xspace, 341, 386 xy, 85, 101, 101, 102, 103106, 398 Palatino, 222 palatino (pakke), 222, 388 palatino (pakke, brug ikke), 388 \paperheight (lngde), 147, 148, 351 \paperwidth, 280 \paperwidth (lngde), 147, 148, 351 \par, 316, 320, 383 \paragraph, 21, 21, 34, 36, 228, 229 paralist (pakke), 228, 229, 385 \parallel ( ), 49 \parbox, 139, 235, 350, 355357, 372 \parsep (lngde), 122 \part, 21, 33, 264, 274, 287, 304, 306, 309, 313, 314 part (pagestyle, memoir), 309, 313 \partial (), 50, 67, 68 \partname, 219 \pascal (siunitx enhed), 254 \path, 10, 40, 40, 372 \pause (beamer), 262, 262 pdf dvipdfmx, 126 pdatex, 126 pdf (grak format), 126, 128 pdf2ps (program), 127 pdfcrop (program), 128, 150 pdfetex (program), 132 pdffonts (program), 363 pdfinfo (program), 363 pdflatex (program), 7, 8, 102, 126, 130, 131, 133, 148, 150, 151, 273, 279, 324, 367 \pdfoutput, 132 pdfpages (pakke), 133, 133, 147, 148, 324 pdftex (program), 126 pdftexk (program), 7 pdftk (program), 364 pdftops (program), 127, 128, 363 \percent (siunitx enhed), 254 \perp, 49 \perp (), 49 \peta (siunitx prex), 255 \pfgpageuselayout (beamer), 265 pgfpages (pakke), 5, 265, 265 \pgfpagesdeclarelayout, 265 \pgfuselayout, 265 \phantom, 94, 99

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

\phantomsection

Stikordsregister
dvipdfmx, dvipng,

programmer 126, 128, 306 224 dvips, 7, 9, 102, 125, 126, 128130, 146, 150, 151, 273, 366 ebb, 126 eps2eps, 149 epstool, 149, 150 epstopdf, 126, 127, 150, 363 evince, 7, 126 Excel, 156 excel2latex, 182 getnonfreefonts, 221, 240 ghostscript, 126 ghostview, 9 Gnumeric, 182 gnuplot, 150 gsview, 7 gsview32, 9 gv, 9 Imagemagick, 364 jabref, 206, 209, 210 jepg2eps, 364 jpeg2ps, 127, 364 kile, 362 kpdf, 362 latex, 7, 9, 102, 130, 131, 146, 150, 188, 208, 244, 273, 279 latexmk, 244, 245 Led, 362 makebst, 202, 205, 393 makeglossaries, 247, 250 makeindex, ix, 243246, 386, 401 mkind, 244, 245 okular, 126 pdf2ps, 127 pdfcrop, 128, 150 pdfetex, 132 pdffonts, 363 pdfinfo, 363 pdflatex, 7, 8, 102, 126, 130, 131, 133, 148, 150, 151, 273, 279, 324, 367 pdftex, 126 pdftexk, 7 pdftk, 364 pdftops, 127, 128, 363 ppower4, 265 preview, 364 ps2pdf, 7, 9, 102, 126, 127, 273, 363 R, 149, 267 sam2p, 128 Sumatra PDF, 368 texcount, 259 texindy, ix, 243, 245 texworks, 362 tlmgr, 361 windvi, 125

\phantomsection,

274 phdthesis (BibTEX type), 193 \Phi (), 48 \phi (), 48 \Pi (), 48 \pi (), 43, 48 \pico (siunitx prex), 255 picture (environment), 147, 258, 351 picture (pakke), 147 pil skrive over eller under, 51 pile skrive over, 51 placeins (pakke), 137, 341, 385 plain (BibTEX stil), 188, 197 plain (pagestyle), 282 plain (pagestyle, memoir), 309, 313 plain (theoremstyle, nthm), 115, 122 plainnat (BibTEX stil), 199, 200 \pm (), 49 pmatrix (environment), 60, 68, 68, 71, 374 \pmod, 67, 67 png dvipdfmx, 126 pdatex, 126 png (grak format), 126 \pod, 67, 67 PostScript (grak format), 126 powerdot (klasse), 259 ppower4 (program), 265 \Pr (mat. operator), 56 preamble, 11 preamblen, 23 \prec ( ), 49 \preceq ( ), 49 preview (program), 364 \prime, 50, 50 \prime ( ), 50, 67 printe B5 p A4-papir, 280 \printindex, 243, 294 problem eps til pdf via ps2pdf, 126 jpg til eps l bliver meget stor, 127 problem (environment), 123 \Procedure, 272 proceedings (BibTEX type), 193 \prod ( ), 53 programmer Adobe Reader, 368 biber, 211 bibtex, 18, 188, 192, 193, 208, 211, 244, 323 bibtex8, 18, 193, 205 convert, 127, 128, 364 dvipdfm, 128, 131, 400 427

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

proof (environment)
xdvi,

Stikordsregister
\raisetag, \rangle,

rvert (delimiter)

125, 368 242245, 401 xpdf, 126, 127 yap, 125, 368 proof (environment) anden overskrift, 112 proof (environment), 112, 113, 116, 118, 118, 119, 119, 263 proof (environment, amsthm), 112 \proofname, 113, 113 proofof (environment), 119, 119 \propto (), 49 prosper (klasse), 259 \protect, 288 \providecommand, 135, 340, 340 \ProvidesPackage, 344 ps2pdf (program), 7, 9, 102, 126, 127, 273, 363 pseudokode, 271 \psfig, 388 psg (pakke), 128 psg (pakke, brug ikke), 388 psfrag (pakke), 146, 147, 394 \Psi ( ), 48 \psi (), 48 pslatex (pakke, brug ikke), 388 pstricks (pakke), 120 publisher (BibTEX felt), 193, 193, 196 punktopstilling, 36 \put, 147, 147, 148
xindy,

Q 113, 113, 331 42, 71, 91, 92, 130, 139, 145, 163, 330 \quad, 20, 42, 43, 80, 87, 88, 88, 91, 115, 159, 171, 174 quotation (environment), 35, 35, 343 quote (environment), 35, 35, 36, 343
\qedhere, \qquad,

R 65 28 \r (accent bolle), 27 R (program), 149, 267 r (sjle specier), 156, 160, 163, 171 \radian (siunitx enhed), 254 ragged2e (pakke), 35, 159, 159, 385 \raggedbottomsectiontrue, 314 \raggedbottomsectiontrue (memoir), 314 \RaggedLeft, 35, 158, 218 \raggedleft, 35, 158, 218, 385 \RaggedRight, 35, 158, 159, 159, 218 \raggedright, 35, 158, 159, 161, 170, 218, 385 \raisebox, 50, 357
\R, \r,

96, 96 98 \Re, 57, 57 \Re ( ), 50 \ref, 32, 32, 38, 46, 46, 95, 123, 145, 298 ref (enumitem), 231 referencer vis kun refererede formler, 98 \reflectbox, 50, 50, 357 \refname, 219 \refstepcounter, 351 relationssymboler, 49 \relax, 171 remark (environment), 112 \renewcommand, 31, 47, 82, 136, 137, 162, 177, 214, 219, 283, 285, 286, 327, 340 \renewenvironment, Se \newenvironment \Repeat, 272 report (klasse), 13, 39, 219, 282, 305 reqno (klasse option), 12 \Require, 272 \resizebox, 357, 358 resume* (enumitem), 232 revtex4 (klasse), 14 \rho (), 48 \right, 45, 63, 63, 64, 64, 6769, 72, 72, 98, 332, 382 \Rightarrow (), 51, 64, 91 \rightarrow (), 51 \rightharpoondown ( ), 51 \rightharpoonup ( ), 51 \rightleftarrows ( ), 51 \rightleftharpoons ( ), 51 \rightmark, 284, 285, 286, 309311, 312, 326 \rlap, 106 \rmfamily, 30 \rmodels, 49 \Roman, 352 \roman, 352 \Roman* (enumitem), 231 \roman* (enumitem), 231 \rotatebox, 50, 125, 357, 358 rotating (pakke), 179, 179 round (natbib option), 191 \rowops (gauss), 71 \rule, 117 rVert (delimiter), 62 \rvert, 98, 98 rvert (delimiter), 62

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

428

S (sjle specier)

Stikordsregister
\see,

sidewaysgure (environment) 242


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

S S (sjle specier), 160, 167, 174 \s (siunitx enhed), 255 stninger angive ekstra overskift, 111 nummereret efter afsnit eller kapitel, 110 nummereret samlet, 111 selv bestemme overskift, 119 sjle specier A, 160 C, 167 c, 156, 159162, 164, 166, 170, 174 D, 165, 166 d, 165 l, 156, 159, 160, 163, 177, 179 p, 159, 159, 160, 170 r, 156, 160, 163, 171 S, 160, 167, 174 X, 170, 170, 171, 171 sam2p (program), 128 sans serif, 30 SASdisplay (pakke), 241, 242, 268 \savebox, 358 \sbox, 358 \sc, 29 scale (graphicx), 129 \scalebox, 125, 357 school (BibTEX felt), 193 scope, 342 scrartcl (klasse), 13, 305 scrbook (klasse), 13, 305 \scriptscriptstyle, 54 \scriptsize, 29 \scriptstyle, 106, 117 scrlettr (klasse), 305 scrlettr2 (klasse), 13 scrltr2 (klasse), 235 scrlttr2 (klasse), 305 scrlttr2 (klasse), 13, 20 scrreprt (klasse), 13, 305 \scshape, 29, 30, 31 \searrow ( ), 51 \sec (mat. operator), 56 secnumdepth (tller), 289, 314 \second (siunitx enhed), 254, 255 \section, 21, 21, 31, 33, 34, 95, 137, 196, 213, 213, 215, 235, 263, 264, 264, 284, 285, 285, 286, 286, 287, 306, 311, 313, 314, 321, 330, 332, 339, 341, 354, 371, 376 section (chapter style), 326 section (tller), 110 \section*, 22, 34 \sectionmark, 285, 286, 311 sectsty (pakke), 213 429

219 226, 227 \selectlanguage, 217, 322 semicolon (natbib option), 191 series (BibTEX felt), 193, 196 \setbeamertemplate, 265 \setboolean (xifthen), 353 \setcounter, 69, 287, 351 \setdescription (enumitem), 233 \setenumerate (enumitem), 233 \setitemmize (enumitem), 233 \setlength, 120, 122, 234, 306, 349, 350, 354, 384, 399 \setlist (enumitem), 233 \setlrmagins, 308 \setlrmargins (memoir), 308 \setlrmarginsandblock (memoir), 308 \setminus (\), 10, 49 \setpnumwidth (memoir), 315 \setR, 337 \setrmarg (memoir), 315 \setsecheadstyle (memoir), 314 \setsecnumdepth (memoir), 289, 314, 314, 315 setspace (pakke), 227, 277 \setsubsecheadstyle (memoir), 314 \setsubsubsecheadstyle (memoir), 314 \settocdepth (memoir), 287, 314, 314, 315 \settodepth, 349 \settoheight, 349 \settotalheightof, 350 \settowidth, 349 \settrimmedsize, 280 \settrimmedsize (memoir), 280 \settypeblocksize (memoir), 308 \setulmargins (memoir), 308 \setulmarginsandblock (memoir), 308 \sffamily, 30, 115, 121, 224, 312 shadecolor, 235 shaded (environment), 120, 181, 215, 235 \shorthandoff, 105, 105 \shorthandon, 105, 105 \shortintertext, 89, 89, 93, 333 shorttitle (BibTEX felt), 196 \shoveleft, 90, 90 \shoveright, 90, 90 showidx (pakke), 297 showkeys (pakke), 297 showtrims (memoir klasse option), 280 \SI (siunitx), 251, 253 \si (siunitx), 251, 253 sidetal fjerne, 282 sideways (environment), 179, 179 sidewaysgure (environment), 179
\selectfont,

\seename,

sidewaystable (environment)

Stikordsregister
\litre, \lumen,

siunitx (pakke) 254 254 \lux, 254


\megaelectronvolt, \megahertz, \meter,

sidewaystable (environment), 179, 179 (siunitx enhed), 254 \sievert (siunitx enhed), 254 \Sigma (), 48 \sigma ( ), 48 \sim, 10 \sim (), 49, 338 \simeq ( ), 49, 53 \sin, 44, 56, 56 \sin (mat. operator), 56 \SingleSpacing (memoir), 326 \sinh (mat. operator), 56 sinutx (pakke), 254 \SIrange, 252 \sisetup, 170 sistyle (pakke, brug ikke), 388 siunit (pakke, brug ikke), 388 siunitx (pakke) enhed \ampere, 254 \angstrom, 254 \arcminute, 254 \arcsecond, 254 \atomicmassunit, 254 \bar, 254 \barn, 254 \becquerel, 254 \bel, 254 \candela, 254 \celsius, 254 \centimetre, 255 \coulomb, 254 \day, 254 \decibel, 254 \degree, 254 \degreeCelsius, 254 \electronvolt, 254 \farad, 254 \gigahertz, 255 \gray, 254 \hectare, 254 \henry, 254 \hertz, 254, 255 \hour, 254 \joule, 254 \katal, 254 \kelvin, 254 \kg, 254 \kiloampere, 255 \kiloelectronvolt, 255 \kilogram, 254, 255 \kilohertz, 255 \kilojoule, 255 \kilometre, 255 \kilovolt, 255 \liter, 254
\siemens

255

B C D E F G

255

254 \metre, 254 \MHz, 254


\micrometre,

255 \microsecond, 255 \milliampere, 255


\millielectronvolt,

255

255 \millihertz, 255 \millilitre, 255 \millimetre, 255 \millisecond, 255 \millivolt, 255 \minute, 254 \mmHg, 254 \mole, 254 \nanometre, 255 \neper, 254 \newton, 254 \ohm, 254 \pascal, 254 \percent, 254 \radian, 254 \second, 254, 255 \siemens, 254 \sievert, 254 \steradian, 254 \tesla, 254 \tonne, 254 \volt, 254 \watt, 254 \weber, 254 forkortet enhed \cm, 255 \GHz, 255 \Hz, 255 \kA, 255 \keV, 255 \kg, 255 \kHz, 255 \kJ, 255 \km, 255 \kV, 255 \mA, 255 \MeV, 255 \meV, 255 \mg, 255 \MHz, 255 \mHz, 255 \ml, 255 \mm, 255 430

\milligram,

H I J K L M N O P Q R S T U V W X Y Z

siunitx (pakke)
\ms,

Stikordsregister

store symboler

255 255 \nm, 255 \s, 255 \um, 255 \us, 255 \num, 251253, 256 \numrange, 252 potens \cubed, 255 \cubic, 255 \square, 255 \squared, 255 prex \atto, 255 \centi, 255 \deca, 255 \deci, 255 \exa, 255 \femto, 255 \giga, 255 \hecto, 255 \kilo, 255 \mega, 255 \micro, 255 \milli, 255 \nano, 255 \peta, 255 \pico, 255 \tera, 255 \yocto, 255 \yotta, 255 \zepto, 255 \zetta, 255 \SI, 251, 253 \si, 251, 253 siunitx (pakke), 28, 164, 165, 167, 169, 170, 174, 182, 251254, 388 slantet, 30 \slshape, 30 slutnoter, 33 \small, 29, 227, 312, 320, 349 small caps, 30 smallmatrix (environment), 67, 68, 68 \smash, 54, 338, 338 \smashoperator, 97, 97 \so, 228 \sodef, 228 sort (natbib option), 192 sort&compress (natbib option), 192 soul (pakke), 227, 228, 316, 318, 386, 393 spacing, 42 \ , 42 em, 42 \enskip, 42 math unit, 42
\mV,

medspace (\:), 42 mu, Se math unit \negmedspace, 42 \negthickspace, 42 \qquad, 42 \quad, 42 thickspace (\;), 42 thinspace (\,), 42 \spadesuit (), 50 \Span, 340 \span, 57, 340 \specialrule (booktabs), 162 Specialtegn, 27 \sphericalangle ( ), 50 split (environment), 91, 91, 92, 94, 96, 107, 372 \splitdfrac, 66 \splitfrac, 66, 66 \sqcap ( ), 49 \sqcup ( ), 49 \sqiint ( ), 53 \sqint ( ), 53 \sqrt, 46, 67, 67 \sqsubset ( ), 49 \sqsubseteq ( ), 49 \sqsupset ( ), 49 \sqsupseteq ( ), 49 \square ( ), 50, 114 square (natbib option), 191, 191 \square (siunitx prex), 255 \squared (siunitx prex), 255 \ssearrow ( ), 51 \sswarrow ( ), 51 \stackrel, 52, 54, 62, 62, 338 A Standardnavne i L TEX, 219 A standardnavne i L TEX, 219 \star ( ), 49 \starbreak, 330 \starredbullet, 330, 330 start (enumitem), 231 \State, 271 \Statex, 272 \stepcounter, 351 \steradian (siunitx enhed), 254 stikordsregister, 242 !, 242 @, 242 |, 242 stmaryrd (pakke), 47, 51, 53, 63, 386 \stockwidth (memoir), 280 store symboler \bigbox ( ), 53 \bigcap ( ), 53 \bigcup ( ), 53 \biginterleave ( ), 53 \bigoplus ( ), 53 431

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

streger
\bigotimes

Stikordsregister (
\subsubsection,

tller

), 53 ( ), 53 \bigsqcap ( ), 53 \bigsqcup ( ), 53 \bigvee ( ), 53 \bigwedge ( ), 53 \coprod ( ), 53 \idotsint ( ), 53 \iiiint ( ), 53 \iiint ( ), 53 \iint ( ), 53 \int ( ), 52, 53 \oiint ( ), 53 \oint ( ), 53 \ointclockwise ( ), 53 \ointctrclockwise ( ), 53 \prod ( ), 53 \sqiint ( ), 53 \sqint ( ), 53 \sum ( ), 41, 52, 53, 72, 97 streger, 24 stregtegning problemer med, 128 \stretch, 321, 355 style (enumitem), 232 subappendices (env, memoir), 214 subequations (environment), 96, 96, 123 Subg (pakke), 393 subg (pakke) \ContinuedFloat, 146 \subfloat, 145 \subref, 145, 146 \subref*, 145, 146 subg (pakke), 145, 145, 146, 386, 387 subgure (pakke), 145, 393 subgure (pakke, brug ikke), 387 \subfloat, 145, 146 \subfloat (subg), 145 \subparagraph, 21 \subref, 145 \subref (subg), 145, 146 \subref*, 145 \subref* (subg), 145, 146 subscript, 65 \subsection, 21, 21, 33, 34, 263, 264, 264, 312 \subsection*, 22 \subsectionmark, 285 \subset (), 49 \subseteq (), 49 \subseteqq ( ), 49 \subsetneq ( ), 49 \subsetneqq ( ), 49 \substack, 72, 72
\bigparallel

21, 21, 284, 286, 288, 289, 306, 312, 314, 330 \subtitle (beamer), 261 \succ ( ), 49 \sum ( ), 41, 52, 53, 72, 97 Sumatra PDF (program), 368 \sup (mat. operator), 56, 57 super (natbib option), 191, 200 superscript, 65 \suppressfloats, 138 \supset (), 49 \supseteq (), 49 \supseteqq ( ), 49 \supsetneq ( ), 49 \supsetneqq ( ), 49 svg (grak format), 127, 128 svn-multi (pakke), 257, 258, 258, 386 \svnfiledate, 258 \svnfileday, 258 \svnfilehour, 258 \svnfileminure, 258 \svnfilemonth, 258 \svnfilerev, 258 \svnfileyear, 258 \svnidlong, 258 svninfo (pakke), 258 \swap (gauss), 71 \swarrow ( ), 51 Sweave, 267, 268 Sweave (pakke), 268 symboler diverse, 50 inklusioner, 49 pile, 51 store, 53 symboloversigt lave en, 159 T
\t

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

(accent bind efter), 27 t1enc (pakke, brug ikke), 387 tller bottomnumber, 135 chapter, 95, 350 equation, 95 footnote, 215 lastsheet (memoir), 328, 328 MaxMatrixCols, 69 page, 350 secnumdepth, 289, 314 section, 110 thm, 111, 112, 115, 116, 122 tocdepth, 287, 289, 314 topnumber, 135 totalnumer, 135 tller

432

\tabcolsep

(lngde)

Stikordsregister

thebibliography (environment)

chapter, 110 section, 110 \tabcolsep (lngde), 175 tabel beskytte overskriftcelle, 161 celler spnde over ere sjler, Se
\multicolumn

linier i, 162 preamble, 157 sjle b (array), 158 c, 157 l, 157 m (array), 158 p, 157 r, 157 vandrette linier med booktabs, 162 tabeller celler spnde over ere rkker, 161 tabelpreamble, 156 genvej til, 160 table (environment), 134, 143, 156, 171, 174, 175, 177, 179, 273, 372 \tablename, 219 TableNotes (environment), 178 tablenotes (environment), 177, 177 \tableofcontents, 33, 34, 285, 287, 294, 311 \tableofcontents*, 315 tabular (environment), 70, 156, 156, 157, 159161, 163166, 170, 172, 174, 174, 177, 179, 355 tabularx (environment), 170, 170, 171, 174, 176 tabularx (pakke), 170, 170 \tag, 95, 95 \tag*, 95, 95 \tan (mat. operator), 56 \tanh (mat. operator), 56 \tau (), 48 \tbinom, 66 tekst A uden L TEX fortolkning, 237 \tera (siunitx prex), 255 \tesla (siunitx enhed), 254 teste efter pdf-output, 131 \TeX, 4 texcount (program), 259 texindy (program), ix, 243, 245 TeXmacs (editor), 362, 363 Texmacs (editor), 367 TeXMaker (editor), 367 TeXnicCenter (editor), 367 \text, 54, 55, 55, 64, 69, 71, 72, 88, 165, 166, 246, 256, 371 433

10 10 \textbackslash, 10 \textbf, 30, 113 \textcelsius ( , textcomp), 28 \textcolor, 234 textcomp (pakke), 28, 386 \copyright (), 28 \textcelsius ( ), 28 \textdagger (), 28 \textdegree (), 28 \texteuro ( ), 28 \textmu (), 28 \textparagraph (), 28 \textperthousand (), 28 \textregistered (), 28 \textsection (), 28 \textsterling (), 28 \texttrademark (), 28 \textdagger, 177 \textdagger (, textcomp), 28 \textdegree (, textcomp), 28 \textdollar, 10 \texteuro ( , textcomp), 28 \textfloat (lngde), 136 \textfraction, 136 \textheight (lngde), 129, 351, 386 \textit, 30, 31, 31, 46, 55, 166 \textmd, 30 \textmu (, textcomp), 28 \textnormal, 30, 113, 119 \textparagraph (, textcomp), 28 \textperthousand (, textcomp), 28 \textregistered (, textcomp), 28 \textrm, 30, 256 \textsc, 30 \textsection (, textcomp), 28 \textsf, 30, 224 \textsl, 30 \textsterling (, textcomp), 28 textstyle, 41, 72 \texttrademark (, textcomp), 28 \texttt, 30, 238 \textunderscore, 10 \textup, 30, 55, 55, 256, 371, 387 \textvisiblespace ( ), xx \textwidth (lngde), 129, 129, 139, 140, 144, 170, 170, 310, 351, 386 TeXworks (editor), 362, 366 texworks (program), 362 \tfrac, 63, 66, 66 \TH (), 27 \th (), 27 \thanks, 39, 39, 215, 216 thebibliography (environment), 11, 185, 186, 186, 187, 187, 188, 189, 311
\textasciitilde,

\textasciicircum,

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

\thechapter

Stikordsregister

trim (graphicx)

329 216 theorem (environment), 263 \theorembodyfont, 114, 115, 118, 119 \theorembodyfont (ntheorem), 114 \theoremclass (ntheorem), 115 \theoremframcommand (ntheorem), 120 \theoremframecommand (ntheorem), 119, 120 \theoremheaderfont, 114, 115, 118, 119, 121 \theoremheaderfont (ntheorem), 114 \theoremindent (ntheorem), 114 \theoremnumbering, 115 \theoremnumbering (ntheorem), 114 \theoremnumbering (ntheorem) Alph, 114 alph, 114 arabic, 114 Greek, 114 greek, 114 Roman, 114 roman, 114 \theorempostskipamount (lngde), 117, 120 \theorempreskipamount (lngde), 120 \theoremseparator, 115, 118, 119, 121, 123 \theoremseparator (ntheorem), 114 \theoremstyle, 112, 112, 116119, 122 \theoremstyle (amsthm), 111 denition, 112 plain, 112 remark, 112 \theoremstyle (ntheorem), 114, 115 break, 115, 116, 122 change, 115 changebreak, 115 empty, 116, 119, 119 emptybreak, 116 margin, 115 marginbreak, 115, 116 nonumberbreak, 116, 118 nonumberplain, 116, 118 plain, 115, 122 \theoremstyle (ntheorem) break, 122 \theoremsymbol, 117, 117119 \theoremsymbol (ntheorem), 114 \thepage, 258, 284, 285, 286, 310, 312 \thesection, 352 \Theta (), 48 \theta (), 44, 48 thickspace (\;), 42 \thinspace, 82 thinspace (\,), 42 \thispagestyle, 39, 39, 150, 281, 282, 282, 309, 320, 321, 328 thm (environment), 110112, 115117, 121, 122
\theendnotes,

\thechapter,

thm (tller), 111, 112, 115, 116, 122 thm* (environment), 121 thmA (environment), 117 thmB (environment), 117 thmbreak (environment), 122 ThreePartTable (environment), 178 threeparttable (environment), 177, 177 threeparttable (pakke), 143, 166, 166, 176, 177, 386 threeparttablex (pakke), 177, 178, 178, 386 \tightlist, 230, 340 \tightlist (memoir), 228, 340 \tightlists (memoir), 228 \tilde, 60, 61 Times, 222 \times, 82, 165 \times (), 49 times (pakke, brug ikke), 388 \tiny, 28, 29 \title, 39, 39 \title (beamer), 261, 261 title (BibTEX felt), 193, 193, 196 title (pagestyle, memoir), 309 \titlepage (beamer), 261, 261 \titleref, 33 \titleref (memoir), 330 titlesec (pakke), 213, 288, 289, 392 titlingpage (env, memoir), 309, 320 titlingpage (pagestyle, memoir), 309 tlmgr (program), 361 tlmgr (program, texlive), 361 \tnote, 176, 177, 177, 178 \tnotex, 178 \to (), 51, 89 tocbibind (pakke), 288 tocdepth (tller), 287, 289, 314 tocloft (pakke), 288 \tocmark (memoir), 311 \today, 39, 39 todonotes (pakke), 295 \tonne (siunitx enhed), 254 \top ( ), 50 \topfraction, 136, 137 topnumber (tller), 135 \toprule, 163, 163166, 170, 171, 182 \toprule (booktabs), 162, 163 totalheight (graphicx), 129, 372 \totalheight (lngde), 357 \totalheightof, 350 totalnumer (tller), 135 \TPTminimum, 177 \tr, 57 trans (beamer), 265 \triangle ( ), 50 \triangledown ( ), 50 trim (graphicx), 130, 130, 349 434

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

\trimedge

(memoir)

Stikordsregister
\usepackage,

\vphantom

\trimedge

(memoir), 280 truncate (pakke), 286 \ttfamily, 30 tuborg horisontal, 72 tvunget sideskift indholdsfortegnelse, 288 twocolumn (klasse option), 12 \twoheadleftarrow ( ), 51 \twoheadrightarrow ( ), 51 twoside (klasse option), 12, 279, 280, 324, 326 TXTT, 225 type (BibTEX felt), 193 typearea (pakke), 306

8, 13, 14, 14, 17, 23, 25, 31, 34, 37, 111114, 117119, 122, 123, 133, 180, 278, 279, 283, 285, 286, 345 \useshorthands, 25 UTF8, 14, 17 utf8 (inputencoding), 17 Utopia, 223 V (accent hek), 27 valgfri argumenter, 11 \value, 351, 353 \varepsilon, 47 \varepsilon (), 47, 48 varioref (pakke) \vpageref, 298 \vref, 298 \vrefrange, 298 varioref (pakke), 13, 13, 134, 274, 298, 386 \varkappa (), 48 \varnothing (), 50 \varphi (), 48 \varpi ( ), 48 \varrho ( ), 48 \varsigma (), 48 \vartheta (), 48 varwidth (environment), 159, 356 varwidth (pakke), 356 \vbox, 122 \vcenter, 105, 105, 106 \Vdash ( ), 49 \vdash ( ), 49 \vdots, 60 \vec, 61 \vee (), 49 \veebar ( ), 49 \verb, 215, 237, 238, 374 \verb*, 237 verbatim (environment), 238, 239, 241, 262 verbatim (pakke), 238 verbatim tekst, 237 verbatim* (environment), 238 verbatimcopy (pakke), 386 \verbatiminput, 238 \Vert, 62 \vert, 62, 63 \vfill, 320, 353355 viewport (graphicx), 130 Vim (editor), 363 Vmatrix (environment), 68, 68 vmatrix (environment), 68, 68 \volt (siunitx enhed), 254 volume (BibTEX felt), 193, 196 \vpageref (varioref), 298 \vphantom, 94
\v

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

U (accent breve), 27 u.bb., 88 uafhngighedssymbol ( 49 ), \um (siunitx enhed), 255 \uncover (beamer), 262, 262 \undefined, 132 underbrace, 72 \underbrace, 72, 72 \underbracket, 72 underfull \hbox, 375 \vbox, 375 \vbox, 376 \underleftarrow, 61 \underleftrightarrow, 61 \underline, 60, 61 undernummerering, 96 \underrightarrow, 61 \unitlength, 147, 320 \unitlength (lngde), 351 unsrt (BibTEX stil), 189, 197 unsrtnat (BibTEX stil), 200 \Until, 272 \Uparrow, 63 \Uparrow (), 51 \uparrow, 63 \uparrow (), 50, 51 \Updownarrow, 63 \Updownarrow ( ), 51 \updownarrow, 63 \upshape, 30 \Upsilon ( ), 48, 221 \upsilon (), 48 \url, 10, 40, 40, 182, 193, 195, 273, 385, 386 url (BibTEX felt), 193, 195 url (pakke), 10, 39, 182, 195, 273, 372, 386, 391 \us (siunitx enhed), 255 \usebox, 358
\u

435

\vref

(varioref)

Stikordsregister

zorn (environment)

(varioref), 298 (varioref), 298 \vspace, 117, 353, 354 \vspace*, 139, 321, 353, 354
\vref \vrefrange

W (siunitx enhed), 254 \weber (siunitx enhed), 254 \wedge (), 49 \While, 271, 272 \widefbox, 101 \widehat, 61 \widetilde, 61 \widowpenalty, 333 width (graphicx), 129, 129, 130, 139, 140, 147, 148 \width (lngde), 357 \widthof, 234, 350 windvi (program), 125 wrapg (pakke), 146
\watt

xspace (pakke), 341, 386 xy (environment), 106 xy (pakke), 85, 101, 101, 102, 103106, 398 X -pic Y \ar, 102, 103 labels, 104 pilens udformning, 103 placering, 102 \CompileMatrices, 104 ytte placering af pil, 103 justere placering af labels, 104 krummende pile, 103 labels til pile, 104 pilehoveder i anden font, 105 prkompilering, 104 \xymatrix, 102 X -pic Y problemer ved pdatex, 102 \xybox, 106 \xymatrix, 85, 101, 102, 103106 Y (program), 125, 368 year (BibTEX felt), 193, 193, 196 \yocto (siunitx prex), 255 \yotta (siunitx prex), 255
yap

A B C D E F G H I J K L M N O P Q R

X X (sjle specier), 170, 170, 171, 171 xcolor (pakke), 119, 181, 234, 235, 258 xdvi (fremviser), 363 xdvi (program), 125, 368 \Xi (), 48 \xi (), 48, 221 xifthen (pakke) \(, 353 \), 353 \AND, 353 \boolean, 353 \cnttest, 353 \dimtest, 353 \endswith, 353 \equal, 353 \ifthenelse, 352 \isempty, 353 \isin, 353 \isodd, 353 \newboolean, 353 \NOT, 353 \OR, 353 \setboolean, 353 xifthen (pakke), 352, 353 xindy (program), 242245, 401 xkeyval (pakke), 345, 392 \xleftarrow, 51, 51 xparse (pakke), 345, 386 xpdf (fremviser), 363 xpdf (program), 126, 127 xr (pakke), 299 xr-hyper (pakke), 299 \xrightarrow, 51, 51, 52, 101 \xspace, 341, 386 436

Z
\zepto (siunitx prex), \zeta (), 48, 221 \zetta (siunitx prex),

255

S T U V W X Y Z

255 zorn (environment), 111

RETTELSER

Rettelser
Note: skriv dette afsnit om, det er ikke opbygget srligt godt Note: forklares bedre Ddelige: xme example Ddelige: SKAL skrives bedre Note: skrives bedre Ddelige: skriv dette mere forsteligt Note: fejl: manglende luft Ddelige: dette afsnit skal gennemgs nrmere Ddelige: De flgende lister af symboler skal gennemgs for at se om der er ere relevante symboler som skal med Ddelige: mega hul nr falineSD anvendes med oat option Ddelige: br skrives helt om. Dette forvirrer den nye bruger Note: som skal udvides en del Note: dette har vist ikke helt med endnu Note: husk lige at tjekke alle referencer til disse Note: skrives helt om eller smides helt vk Note: skal testes Note: br sikkert testes Note: burde man ikke have et eksempel her? Note: Det flgende skal skrives om Ddelige: tjek lige dette Ddelige: skal skrives om via threeparttablex Note: husk at f dette med Note: det vil vre naturligt at f blandet babelbib ind i det ogs Note: mangler en start tekst til dette kapitel Note: dette skal tjekkes Note: mathpazo har desuden nogle options man mske kunne bruge til noget Note: br skrives om, begrundelsen er ikke helt korrekt Note: Tjek ogs\caps Note: det kan vre en ide at nvne noget vedr. effekter med layers, k en mail om det for lang tid siden Note: dette skal gennemgs og drftes med granfeldt og blsild Note: tjek lige at ovenstende er korrekt Note: Dette skal skrives lidt bedre. Problemet kommer specikt hvis man anvender b5paper. h, hvilket problem? Note: det ville vre smart her at have en funktionalitet hvor man kunne vise en hjre og en venstre side samtidigt Note: Her er sikkert mange andre ting vi kan tilfje, ideer? Note: tjek lige hvor det er man anbefales at placere en dedikation. Note: denne er jeg ikke helt sikker p er et krav Note: side henvisninger til memman skal tjekkes igennem Ddelige: hvor? Ddelige: dette skal skrives om Note: skal nok placeres et andet sted
437

xviii xix xxi 4 7 11 34 47 47 54 55 56 65 97 107 127 131 134 159 173 177 184 196 213 216 222 226 227 262 267 270 280 283 291 303 303 305 307 308 321

Note: dette br opdateres pga. TW default til utf8, og andre editorer som ikke kan utf8 14

Ddelige: hele dette afsnit skal skrives om, og kode skal evt. smides over i mathtools 57

Note: Det er sikkert en god ide direkte at hugge denne, med cadeau til JL naturligvis 217

RETTELSER

Ddelige: tilfj mere her, bla. med forsider, samt addtotoc, samt den ikke nummererede opgave 324 Note: ovenstende skal testes 325 Ddelige: skal skrives 326 Note: det vil sikkert ogs vre en ide at nvne \sloppy 333 Ddelige: eller er dette en klasse? 334 Note: dette br yttes til diverse kapitlet 334 Ddelige: hvor? 340 Ddelige: f tjekket papir settings i miktex 2.8 og om der skal justeres ved ghostscript365 Ddelige: som som pt. bedst virker sammen med MikTeX, ved ikke lige hvad der skal til for at f det til at virke med TEX Live 367 Note: tjek resten af denne l (skjult) 369 Ddelige: tilfj links til features som kan anvendes til at konvertere til word 380 Note: s vidt jeg ved loader vi faktisk slet ikke caption pakken direkte, men gennem subg 384

438

You might also like