Introduktion til L A TEX



Relaterede dokumenter
Transkript:

Introduktion til L A TEX for nye og øvede brugere nu med 310 eksempler samlet og redigeret af Lars Madsen Version 2.1d senest kompileret 24. maj 2005 Institut for Matematiske Fag Det Naturvidenskabelige Fakultet Aarhus Universitet 2005

c Lars Madsen 2005 Layout og typografi valgt og implementeret af forfatteren Skrifttype: 11pt / 13.6pt Computer Modern Sat med pdfl A TEX og memoir-klassen Alle figurer er lavet med METAPOST Anvendte pakker: color, fixltx2e, inputenc, babel, amsmath, amssymb, stmaryrd, bm, mathtools, ntheorem, fontenc, mparhack, natbib, graphicx, fix-cm, url, calc, paralist, longtable, xspace, mflogo, ragged2e, placeins, xy, multicol, pdfcolmk, (hyperref og memhfixc), varioref, keyval, soul, comment, calc, listings og fancyvrb. Samt desuden felinebooksetup, felinemarkup og felinesd. Visse navne anvendt i denne bog er registrerede væremærker og disse anerkendes hermed. Dette inkluderer bl.a. Linux, MAC OS X, Windows, TEX, L A TEX, og Computer Modern.

Tilegnet de danske L A TEX brugere med håbet om at dette vil hjælpe på vejen mod pænere dokumenter daleif 2005

Kort oversigt Kort oversigt Indholdsfortegnelse Forord i iii xi 1 Velkommen til den forunderlige L A TEXniske verden 3 2 Almindelig tekst 11 3 Introduktion til matematik 27 4 Matematik mode lidt mere advanceret 55 5 Sætningskonstruktioner i L A TEX 81 6 Om grafik, floats og konfigurering af captions 95 7 Om tabeller i L A TEX 115 8 Konstruktion af bibliografi 135 9 Diverse 149 10 Konfigurering af layout i L A TEX 171 11 Opbygningen af et speciale eller bachelorprojekt 185 A Om nye makroer 205 B Ekstra almindelige konstruktioner 211 C Om fejlmeddelelser i L A TEX 215 Litteratur 221 Indeks 227 Changelog 249 Todo-liste 251 i

Indholdsfortegnelse Kort oversigt Indholdsfortegnelse Forord Ting som ikke gennemgås i denne bog Syntaks Taksigelse Introduktion til L A TEX i iii xi xii xii xiii Kapitel 1 Velkommen til den forunderlige L A TEXniske verden 3 1.1 Et simpelt start eksempel 3 1.2 L A TEX syntaks 5 1.2.1 Lidt L A TEX terminologi 5 1.2.2 Dokumentklassen 6 Nogle dokumentklasser 7 1.2.3 Preamblen 8 1.2.4 Selve dokumentet 8 1.3 Når noget går galt 8 1.4 Dansk opsætning 9 Kapitel 2 Almindelig tekst 11 2.1 Tegnsætning 11 Tvunget linieskift og nyt afsnit 11, Tvungen sideskift 12, Indrykning 12, Anførselstegn 12, Streger 13, Ellipsis... 13, Specialtegn og accenter 14 2.2 Om fontvalg og størrelser 14 2.2.1 Fontstørrelser 14 2.2.2 Skift af fontvariant 15 2.3 Fodnoter 17 2.4 Justering af tekst 17 Centrering 17, Venstre- / højrejustering 18, Citater 18 iii

Indholdsfortegnelse 2.5 Lister 19 Punktopstilling 19, Nummereret liste 19, Beskrivende liste 20 2.6 Orddeling 21 2.7 Opdeling af teksten 21 2.7.1 Indholdsfortegnelse 23 2.8 Krydsreferencer 23 2.9 Forfatter, titel og dato 25 Kapitel 3 Introduktion til matematik 27 3.1 Matematik i L A TEX 27 3.1.1 Syntaksregler i matematik mode 28 Mellemrum tæller ikke 28, Ingen danske bogstaver 28, Begrænset automatisk linieombrydning 29 3.1.2 Tegnsætning i matematik 29 3.1.3 Fremhævet matematik 29 equation 30, align 31, Matematik og krydsreferencer 32 3.2 Symboler og operatorer 33 3.2.1 Forskellige symboler 33 3.2.2 Store symboler 35 3.2.3 Matematiske fonte 36 Fed skrift i matematik 37 3.2.4 Navngivne operatorer 38 3.2.5 Dots... 39 3.2.6 Matematiske accenter 40 3.3 Hegn 42 3.3.1 Om \left og \right 44 Vaianten \middle 45 3.3.2 Om m-varianterne af \big... \Bigg 45 3.4 Almindelige matematike konstruktioner 45 Sub- og superscript 46, Brøker 46, Binomialkoefficienter 47, Rodfunktionen 47, Modulus 47, Matricer 47, Gaffelfunktioner 50, Over/underbrace 50, Grænser i flere lag 51 L A TEX for øvede Kapitel 4 Matematik mode lidt mere advanceret 55 4.1 Matematisk typografi 55 4.1.1 Hvor må man dele en formel? 55 4.1.2 Formelombrydning i tekst-mode 56 Automatisk ombrydning af matematiske udtryk i teksten 57, Automatisk indsættelse af gangetegn 58 4.1.3 Formelombrydning i fremhævede formler 58 iv

Indholdsfortegnelse 4.1.4 Tegnsætning i matematik 61 4.2 Display-environments 61 4.2.1 Alignment 61 Alignmentsøjle 61, Align 62, Alignat 63, Flalign 65, Kommentarer i alignment matematik 65 4.2.2 Centreret flerliniet matematik 66 4.2.3 Multline 66 4.2.4 Varianter 67 Split 67, Aligned 68, Alignedat 68, Gathered 68 4.2.5 Sideskift i fremhævet matematik 69 4.3 Spøgelser 70 4.4 Konfigurering af og leg med formelnummeret 70 4.4.1 Fjernelse af formelnummer 70 4.4.2 Skrive noget andet i stedet for formelnummeret 70 4.4.3 Konfigurering af hvordan formler nummereres 71 4.5 AMS udvidelsen mathtools 72 4.5.1 Justering vedrørende grænser på operatorer 72 4.5.2 Intelligente afgrænserfunktioner 73 4.5.3 Hvordan viser man kun refererede formler? 74 4.5.4 Andre 74 4.6 Diagrammer i L A TEX 74 4.6.1 Diagrammer med XY-pic og \xymatrix 74 4.6.2 Pile: \ar syntaks 75 Placering 75, Pilens udformning 76, Labels 77 4.6.3 Prækompilering 77 4.6.4 XY-pic og Babel 78 4.7 Yderligere bemærkninger 79 4.7.1 Matematisk spacing mellem symboler 79 Kapitel 5 Sætningskonstruktioner i L A TEX 81 5.1 \newtheorem syntaks 81 5.2 Amsthm 83 5.2.1 Almindelig brug af amsthm 83 5.2.2 Beviser med amsthm 84 5.3 Ntheorem 85 5.3.1 Konfigurering 86 5.3.2 Theoremstyles 87 5.3.3 Slutmarkører 88 5.3.4 Beviser med ntheorem 89 5.4 Andet godt med sætningskontruktioner 90 5.4.1 Afmærkede konstruktioner 90 5.4.2 Konstruktioner som starter med en liste 91 5.4.3 Mere om optimeringseksemplet 92 v

Indholdsfortegnelse Kapitel 6 Om grafik, floats og konfigurering af captions 95 6.1 Inklusion af ekstern grafik 95 6.1.1 Billedkonvertering 96 eps til pdf 96, jpg til eps 96, png til eps 97, mps til eps 97, pdf til eps 97 6.1.2 Syntaks for inkludering af ekstern grafik 97 6.1.3 Yderligere konfiguration vedrørende grafik 99 En kildefil flere outputformater 99, METAPOST inklusion i pdflatex 100, At hente figurer fra andre biblioteker 101 6.1.4 Inklusion af hele dokumenter 101 6.2 Floats 102 6.2.1 Syntaks 102 6.2.2 Her til og ikke længere 103 6.2.3 Ikke-flydende floats 104 6.3 Flere figurer på én gang 105 6.4 Konfiguration af caption 106 6.4.1 Brug af pakken caption 106 Caption i en mindre fontstørrelse 107, Ændring af separatortegn 107, Bredden af caption 108, Spacing før og efter caption 109, En figur og en tabel i samme float 109 6.4.2 Brug af pakken subfig 110 6.5 Andre grafik relaterede ting 112 6.5.1 At skrive tekst rundt om figurer 112 6.5.2 Rette på labels i eps figurer 112 6.5.3 Dette er et udkast 112 6.5.4 Baggrundsbilleder 113 Kapitel 7 Om tabeller i L A TEX 115 7.1 En test 115 7.2 Tabelsyntaks 116 7.2.1 Søjlekonfiguration 117 7.2.2 Linier i tabeller 119 7.2.3 Overskriftsceller 121 7.3 Datatabeller 123 7.3.1 Pænere vandrette linier med booktabs 123 7.3.2 Automatisk decimal alignment med dcolumn 126 7.3.3 Kildekoden til tabel 7.2 128 7.4 Når tabellen fylder mere end en side 129 7.5 Ekstra bemærkninger 131 7.5.1 Bemærkninger og noter i tabeller 131 Fodnoter i tabeller 131, Håndlavede noter i tabeller 131 7.5.2 Tabeller eller figurer i landscape 132 7.5.3 Farver i tabeller 133 vi

Indholdsfortegnelse 7.5.4 Automatisk justerede søjlebredder 134 Kapitel 8 Konstruktion af bibliografi 135 8.1 Citeringskonventioner 135 8.2 thebibliography-environmentet 135 8.2.1 Syntaks 136 8.2.2 Forfatter-år citeringer lavet uden BibTEX 137 8.3 BibTEX 138 8.3.1 Hvad er BibTEX? 138 8.3.2 Forfatter-år citeringer med natbib 140 Options til natbib-pakken 142 8.4 Generering af BibTEX-database 142 Beskrivelse af format 142, Syntaks for authorfeltet 144, Specielt om titelfeltet 145, URL i bibliografier 145 8.4.1 Bibliografistilarter 145 8.4.2 Sprogproblemer ved brug af BibTEX 146 8.4.3 Generering af egen bibliografistil 146 Kapitel 9 Diverse 149 9.1 Ordret fremvisning af tekst 149 9.2 Kildekode fremvisning 151 9.2.1 Lidt om listings 151 9.2.2 Opsætning til SAS-udskrifter via listings 152 9.3 Beskrivelse af algoritmer 154 9.3.1 Brug af algpseudocode-pakken 154 9.3.2 Struktur konstruktioner 155 9.3.3 Flydende algoritmer 156 9.4 Lidt fysik og kemi 157 9.4.1 Enheder og indices 157 9.4.2 Forbindelser 157 9.4.3 Andet 159 9.5 Håndtering af større projekter 159 9.5.1 Opdeling af kildekoden 159 \input 160, \include 160, Masterfilen 161 9.5.2 Kommentarer og ekskludering 162 Ekskludering af dele af teksten 162 9.5.3 fixme indsæt specielle noter i teksten 164 9.5.4 At holde styr på labels og lignende 165 showkeys vis indsatte og anvendte label-keys 165, varioref lidt smartere henvisninger 166 9.6 Hvordan finder man manualen til pakken X? 167 vii

Indholdsfortegnelse L A TEX og Typografi Kapitel 10 Konfigurering af layout i L A TEX 171 10.1 Opsætning af marginer 171 10.1.1 B5 på A4 173 10.2 Headere og footere 174 Begrebet pagestyle 174, Egne pagestyles med fancyhdr 175, For lang headertekst 178 10.3 Indholdsfortegnelse 178 At få bibliografi og indeks med i ToC 179, Konfigurering af ToC 179 10.4 Overskrifter 180 Afsnitstitler uden nummer men med i ToC 180 10.5 Fonte og fontstørrelser 180 10.5.1 Fontmuligheder 180 Computermodern 181, Times 181, Palatino 182 10.5.2 Fontstørrelser 182 10.6 Ændring af standardnavne 183 Kapitel 11 Opbygningen af et speciale eller bachelorprojekt 185 11.1 Opbygningen af en bog 185 Titelmateriale 185, Frontmatter 186, Mainmatter 187, Backmatter 187 11.2 Specialelayout med memoir 187 11.2.1 Layoutformulering 188 11.2.2 Marginer 188 11.2.3 Headere og footere 189 11.2.4 Overskrifter og ToC 191 11.2.5 Forside med memoir 192 Generelle redskaber 192, En simpel forside 193, En kolofon bag på forsiden 195, En dedikationsside 196, Louises forside 196 11.2.6 Opbygningen af et speciale med memoir 197 11.2.7 Pakker allerede inkluderet i memoir 200 Appendices Appendix A Om nye makroer 205 A.1 \newcommand 205 Uden argumenter 206, Med argumenter 206, \renewcommand 207, \let 207 A.2 Hvor gælder ændringer? 207 A.3 \newenvironment 208 A.4 Makronavne med @ 208 viii

Indholdsfortegnelse A.5 At lave sin egen pakke 209 Appendix B Ekstra almindelige konstruktioner 211 B.1 Længder 211 Længde enheder 211 B.2 Tællere 212 Udseendet af en tæller 212 B.3 Et par på kassen 213 Appendix C Om fejlmeddelelser i L A TEX 215 C.1 Fejlmeddelelser 215 C.2 Advarsler 218 C.2.1 Advarsler som normalt kan ignoreres 219 C.2.2 Advarsler som man bør rette 219 Labels og citeringer 219, Den notoriske overfull \hbox 220 Litteratur 221 Indeks 227 Changelog 249 Todo-liste 251 ix

Forord I 2002 blev jeg bedt om at holde et L A TEXkursus for de daværende sekretærer på IMF, dette kursus blev så fulgt op med en temmelig sammenpresset introduktion for studerende i foråret 2002. I efteråret 2002 blev jeg så ansat, først midlertidigt senere permanent, ved IMF i en supportfunktion som blandt andet inkluderer L A TEX. Mine gamle forelæsningsnoter (ca. 90 sider) er lagt på nettet og jeg kan se at de er faktisk flittigt blevet anvendt rundt omkring. Men disse noter er ikke ret gode, de er hvad de er en adapteret version af de slides jeg anvendte (ja der stod alt for meget på de slides). Noterne manglede indeks, litteraturliste etc. Men de er blevet brugt alligevel. I mit arbejde kommer både videnskabelige medarbejdere samt studerende forbi for at få hjælp. En ting som de fleste af disse har tilfælles er at L A TEX er bare et redskab i hverdagen, det er ikke noget man gider bruge alt for meget tid på at sætte sig ind i eller følge med i udviklingen af. Dette er selvfølgelig meget forståeligt, man er ikke på universitetet for at lære L A TEX (desværre) man er der for at arbejde. Dette har desværre en kedelig bivirkning: Da man ikke følger med i udviklingen har man i stedet tendens til at har man fået fat i en guide/introduktion til L A TEX da holder man sig slavisk til konstruktionerne i denne. Man kommer så at sige aldrig videre. Derfor er det altid sjovt at se når folk finder ud af hvad L A TEX faktisk kan, når man lige ved hvordan. Jeg mener derfor at idet læseren for de flestes vedkommende kun kommer til at anvende den/de note(r) de anvendte da de lærte at bruge L A TEX, da skal denne note indeholde alt det skribenten har brug for (indenfor rimelighedes grænser selvfølgelig). Der er derfor at denne bog er 269 sider (sheets) lang og at der er 310 nummererede eksempler. Men faktisk er det meningen at man skal supplere bogen med Wilson (2004a) (manualen til dokumentklassen memoir, som anbefales til større værker) for så at kunne skrive (og konfigurere), f.eks. et speciale, uden ret megen brug af ekstra bøger og pakkedokumentation. Jeg har dog måttet indse at dette er et kæmpe projekt som sikkert aldrig vil blive helt færdig, ej heller har jeg nået at få alt det med jeg gerne ville (før dette års undervisning starter op igen den 4. april 2005). Bogen vil derfor løbende blive ændret hen ad vejen, når der kommer tilføjelser samt diverse rettelser. Læseren er mere end velkommen til at komme med kommentarer og ideer. xi

Forord Ting som ikke gennemgås i denne bog Da bogens hovedformål er rettet mod den trykte version af specialer og bachelorprojekter er der visse ting som ikke behandles i denne bog. Disse inkluderer: Hyperlinkede pdf-filer, vi beskæftiger os med ting som skal trykkes, ikke ting som skal offentliggøres på internettet. Læs selv manualen til hyperrefpakken. Indekser (dette kommer sikkert med i en senere version). Slides både til overheadprojektorer samt til computerbaserede foredrag. Generering af grafik til brug indenfor L A TEX. Avanceret makroprogrammering. Syntaks pakkenavn Visse ord og især makronavne er blevet markeret i teksten for nemmere at kunne skelne dem fra resten af teksten, disse er til tider også markeret i marginen. vis skrives pakkenavne som: pakkenavn, hvor navnet her også er skrevet i marginen. Disse vil i de fleste tilfælde også være at finde i indekset (dog ikke i dette testtilfælde). Til at demonstrere syntaks anvendes \foo[ valgfrit argument ]{ obligatorisk argument } arg betyder at her skal brugerne indsætte noget, nøjagtigt hvad forklares ofte i teksten. Til fremvisning af eksempler anvendes to varianter: 0.1 Et eksempel. Et eksempel. Hvor man har kildekoden til venstre og resultatet i kassen til højre. Denne kan også varieres så man enten kun har kildekoden eller kun har resultatet. Den anden variant anvendes til eksterne eksempler: 0.2 \usepackage{mflogo} slut preamble METAPOST \MP Disse er eksempler hvor brugeren skal skrive noget i sin preamble hvilket er det som står ovenover den adskillende streg: slut preamble xii

Taksigelse Rent teknisk bliver disse eksempler lavet via eksterne filer det som står i eksemplet bliver faktisk skrevet til en ekstern fil, preamble-delen placeres i preamblen og teksten under stregen placeres inden i dokumentet. Så der foregår (næsten) ingen snyd når disse eksempler bliver skabt. Sidebemærkning. Forskellige kommentarer bliver sat i en grå kasse, disse kan fortsætte over sideskift. Om layoutet i denne bog Bare lige for en god ordens skyld vil jeg lige nævne at jeg ikke nødvendigvis mener at layoutet i denne bog er særligt pænt, det har mere været et spørgsmål om at bevise (over for mig selv) at man faktisk kunne få L A TEX til at opføre sig på denne måde. Så spare me for bemærkninger om at det ser grimt ud. Har man konstruktive ideer til hvordan layoutet/udseendet kan forbedres modtages disse selvfølgelig gerne. Kommentarer modtages på daleif+latex@imf.au.dk med +latex-delen kan jeg nemmere sortere den indkomne mail. Taksigelse Der er selvfølgelig nogle mennesker man skal takke i forbindelse med et sådant projekt. Først og fremmest en stor tak til Morten Høgholm for diverse diskussioner og løsninger på problemer relateret til makroerne lavet til denne bog. En anden stor tak går til Igor Pechtchanski og David Carlisle for deres hjælp til en vigtig intern komponent, uden deres hjælp ville de eksterne eksempler ikke være så nemme at lave som de faktisk er blevet med dette setup. Der kommer nok en pakke indeholdende dette setup på et eller andet tidspunkt. Desuden en stor tak til Peter Wilson for at have lavet memoir-klassen og for tålmodigt at tage imod rettelserne til de fejl i memoir som blev fundet under udarbejdelsen af denne bog. PW skal også have tak for at sendt mig en kopi af hans bog om memoir, L A TEX for the Initiated A Design Class, jeg håber Peter finder en udgiver til bogen så andre også kan få glæde af den. På IMF går der en tak til Rasmus Villemoes og Emil Hedevang Lohse for diverse L A TEX og TEX relaterede diskussioner. Til Louise Pold Thomsen (aka FORM 2004/2005) for tilladelse til at måtte anvende en (næsten) nøjagtig kopi af forsiden til hendes bachelorprojekt (se figur 11.1 på side 198). Til VIPerne på IMF for tålmodigt at udholde den tortur jeg til tider sætter (tvinger) dem igennem. Især tak til Preben Blæsild og Jørgen Granfeldt for altid at have xiii

Forord nye problemer og projekter vi skal have fikset samt for lån af data. Jørgen Vesterstørm for diverse typografiske diskussioner og hvordan ting bør skrives vi bliver nok aldrig helt enige. En speciel tak til Søren Galatius (tidligere IMF, nu Stanford) for i sin tid at have lært mig en del om L A TEX og for utallige lån af hundebogen, meget passende at jeg så senere kunne hjælpe til med opsætningen af hans ph.d.-afhandling. Til slut en tak til IMF, MaPhySto Centret/Netværket samt Thiele Centret og deres ansatte/brugere for at lade mig tage mig af diverse preprintserier og for (næsten) altid at være enige i de ændringer jeg foreslår. Denne redigeringsproces har været en vigtig del i skabelsen af denne bog, thi man kan her se hvilke konstruktioner folk normalt bruger samt hvilke fejl skribenterne ofte laver, derved kan denne bog anvendes til at få rettet disse. Selvfølgelig også en stor tak til Institut for Matematiske Fag, Det Naturvidenskabelige Fakultet, Aarhus Universitet for overhovedet at give mig dette job til at begynde med hvad i alverden skulle jeg lave i den virkelige verden? Efter udgivelsen af version 2 skal der også lyde en tak til følgende for diverse kommentarer, rettelser og anden input: Mads Sørensen, Mads Jensen, Jes Vestervang, Ole Laursen, Morten Ovi og Bo Lind. Lars Madsen 24. maj 2005 xiv

Introduktion til LATEX

K a p i t e l 1 Velkommen til den forunderlige LATEXniske verden 1.1 Et simpelt start eksempel Lad os lægge blidt ud og starte med at se på hvordan man får et læsbart resultat ud af L A TEX. Tag din favorit tekst-editor og gem følgende som eks1.tex: \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 fremhævet \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 kør nu denne kildefil gennem latex via latex eks1.tex 1.1 latex Man får så en masse tekst smidt i hovedet: [25]radagast:~/tmp> latex eks1.tex This is pdfetexk, Version 3.141592-1.20a-2.2 (Web2C 7.5.3) %&-line parsing enabled. output format initialized to DVI entering extended mode (./eks1.tex LaTeX2e <2003/12/01> Babel <v3.8d> and hyphenation patterns for english, dumylang, nohyphenation, 3

1. Velkommen til den forunderlige L A TEXniske verden xdvi windvi yap dvips basque, czech, slovak, german, ngerman, danish, spanish, catalan, finnish, french, greek, croatian, hungarian, indonesian, icelandic, italian, latin, mongolian, dutch, norwegian, polish, portuguese, russian, swedish, ukenglish, ukrainian, loaded. (/a/vol/packages/tl/2004/texmf-dist/tex/latex/base/article.cls Document Class: article 2004/02/16 v1.4f Standard LaTeX document class (/a/vol/packages/tl/2004/texmf-dist/tex/latex/base/size10.clo)) (/a/vol/packages/tl/2004/texmf-dist/tex/latex/base/inputenc.sty (/a/vol/packages/tl/2004/texmf-dist/tex/latex/base/latin1.def)) (/a/vol/packages/tl/2004/texmf-dist/tex/generic/babel/babel.sty (/a/vol/packages/tl/2004/texmf-dist/tex/generic/babel/danish.ldf (/a/vol/packages/tl/2004/texmf-dist/tex/generic/babel/babel.def))) (/a/vol/packages/tl/2004/texmf-dist/tex/latex/base/fontenc.sty (/a/vol/packages/tl/2004/texmf-dist/tex/latex/base/t1enc.def)) (/a/vol/packages/tl/2004/texmf-dist/tex/latex/amslatex/amsmath.sty For additional information on amsmath, use the? option. (/a/vol/packages/tl/2004/texmf-dist/tex/latex/amslatex/amstext.sty (/a/vol/packages/tl/2004/texmf-dist/tex/latex/amslatex/amsgen.sty)) (/a/vol/packages/tl/2004/texmf-dist/tex/latex/amslatex/amsbsy.sty) (/a/vol/packages/tl/2004/texmf-dist/tex/latex/amslatex/amsopn.sty)) (/a/vol/packages/tl/2004/texmf-dist/tex/latex/amsfonts/amssymb.sty (/a/vol/packages/tl/2004/texmf-dist/tex/latex/amsfonts/amsfonts.sty)) No file eks1.aux. (/a/vol/packages/tl/2004/texmf-dist/tex/latex/amsfonts/umsa.fd) (/a/vol/packages/tl/2004/texmf-dist/tex/latex/amsfonts/umsb.fd) [1] (./eks1.aux ) ) Output written on eks1.dvi (1 page, 660 bytes). Transcript written on eks1.log. Her kan vi til slut se at L A TEX har skrevet sit output til eks1.dvi. DVI formatet kan fremvises med xdvi 1 og på Windows windvi eller yap (alt efter hvilken L A TEX distribution man anvender). Man anvender naturligvis disse via xdvi eks1.dvi etc. Her vil vi dog oversætte filen til det mere print venlige format Post- Script, dette gøres med konversions programmet dvips (som i dvi til ps) [27]radagast:~/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] gv ghostview gsview32 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. Resultatet skulle gerne ligne følgende plus et sidetal. 1 Linux og MAC OS X 4

L A TEX syntaks Hej verden her er jeg og her er lidt matematik f(n) og noget fremhævet 1 3 b 0 f(x)dx (1) Af ovenstående fremgår det at fremgangsmåden ved L A TEX er at man først skriver sin tekst i det specielle format som L A TEX nu anvender og herefter får et latex program til at fortolke det. Først da kan man få lov til at se resultatet af det man har skrevet. Man kan godt sige at det minder lidt om at skrive HTML som jo behøver en fortolker (browseren) før man kan se resultatet. Hvis man hurtigt vil have en pdf-fil i stedet kan ps-filen konverteres via ps2pdf. 2 Man kan også få pdf ud direkte i stedet for dvi, via pdflatex. 1.2 L A TEX syntaks 1.2 ps2pdf pdflatex Udfra eksempel 1.1 man kan se at indenfor L A TEX har visse tegn en speciel betydning. Dette inkluderer \, $, { }. Der er ti af disse tegn, se tabel 1.1. Tabel 1.1: Keyboardtaster med special betydning Tegn Erstatning Kommentar \ \tekstbackslash, \backslash anvendes i starten af (næsten) alle makronavne $ \$, \textdollar anvendes i par omkring tekstmatematik # \# angiver argumenter i makrodefinitioner % \% kommentartegn, alt efter % ignoreres & \& adskiller søjler i tabeller og alignment ~ \tekstasciitilde tie, non-breakable space _ \_, angiver subscript i matematik \textunderscore ^ \textasciicircum angiver superscript i matemtatik (accenthat forklares senere) { } \{ \} anvendes om argumenter dvs. det som skal anvende hvis man ønsker at anvende dette tegn direkte. anvendes i matematikmode. skal man i matematik anvende er det et helt andet tegn, selve tegnet ~ må dog gerne anvendes indeni \url, se senere. 1.2.1 Lidt L A TEX terminologi Lad os vende tilbage til eksempel 1.1 og forklare lidt om den terminologi vi anvender: 2 Forudsat man har ghostscript installeret. 5

1. Velkommen til den forunderlige L A TEXniske verden Sekvenser af typen \ navn kaldes makroer eller kommandoer, en undtagelse er parret \begin{ navn }... \end{ navn } som kaldes et environment. Nogle makroer tager argumenter andre gør ikke. Materiale skrevet inden i { } kaldes argumenter. 3 Hvis der i en specifikation står \foo{ tekst } betyder et at \foo tager tekst som argument. Argumenter skrevet mellem { } kaldet også obligatoriske-argumenter (argumentet kan dog være tomt). Argumenter kan også til tider angives i et [ ] par disse kaldes valgfriargumenter eller options, se evt. eksempel 1.1, linie 1. Om disse gælder at det er ekstra argumenter som man ikke behøver anvende og \foo[] er (ofte) det samme som \foo. Området mellem \documentclass... og \begin{document} kaldes preamble (linie 1 6 i eksempel 1.1). Området indenfor environmentet document kaldes selve dokumentet eller body. Makrofeature 1.3 Man bør være opmærksom på følgende interessante feature ved L A TEX makroer som ikke tager noget argument. Når man skriver \LaTeX spiser makroen \verb+\latex+ al mellemrummet op til det næste ord. Dette kan fikses via \LaTeX{} x, eller \LaTeX\ x eller {\LaTeX} x. Når man skriver L A TEXspiser makroen \LaTeX al mellemrummet op til det næste ord. Dette kan fikses via L A TEX x, eller L A TEX x eller L A TEX x. 1.2.2 Dokumentklassen \documentclass Første linie i et L A TEX-dokument er normalt \documentclass og argumentet til denne er så den anvendte dokumentklasse. Dokumentklassen sørger for at sætte layoutet op med hensyn til marginer, fontstørrelser, ekstra makroer etc. Dokumentklassen tager ofte diverse options: a4paper denne option skal altid anvendes! Standard opsætning er det amerikanske letter-papirformat hvilket man ikke anvender i Europa. 10pt standard tekstfontstørrelsen. 11pt giver tekstfontstørrelse på 11 pt. 12pt tilsvarende for 12 pt. leqno formelnumre til venstre. reqno formelnumre til højre (dette er normalt standarden). 3 Kan dog også være afskærmning, se senere. 6

Nogle dokumentklasser fleqn vil venstrejustere al fremhævet matematik i stedet for at centrere den. onecolumn gæt, dette er standarden. twocolumn gæt. Ting vedrørende to flersøjlede dokumenter er ikke noget vi behandler i denne version af noterne. 4 oneside standard i visse klasser. Anvendes når resultatet skal trykkes enkeltsidet. twoside til dobbeltsidet tryk, standard i f.eks. book eller memoir. Bemærk at det er printeren som skal sørge for at lave dobbeltsidet tryk og det er brugerens eget ansvar at sørge for at fortælle printeren dette. Bemærk også at ved twoside vil venstre- og højremargin byttes om på de lige sider. openright hvis klassen understøtter \chapter, betyder denne at kapitlerne starter på en højreside. Denne er default i book og memoir. openany igen hvis \chapter findes, betyder denne at kapitler starter på næstfølgende side uanset om det er en højre- eller en venstreside. Denne er default i report. Tip 1.1. 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 måde kan give en fælles option til mange pakker på en gang. Et eksempel kan være sprog optionen danish (som babel jo reagerer på, men det gør varioref også). Så kan man altså nøjes med \documentclass[a4paper,danish,...]{...} \usepackage{babel}... 1.4 Nogle dokumentklasser L A TEX kommer med fire standardklasser: article, report 5, book 5 og letter. Almindeligvis kommer man til at anvende article til opgaver og lignende. Alternativer kan være: memoir 6, klasserne fra KOMA-Script (scrartcl, scrbook, scrlettr, scrlttr2 og scrreprt). Mange journaler indenfor fysik anbefaler klassen revtex4. Fælles for alle disser er selvfølgelig at man bør finde/læse relevante manualer. 4 Se også pakken multicol. 5 report og book ligner hinanden en hel del. 6 Opfører sig som book men kan nemt emulere report og endda article. 7

1. Velkommen til den forunderlige L A TEXniske verden 1.2.3 Preamblen pakker \usepackage babel fontenc amsmath amssymb Selve preamblen anvendes til at tilføje ekstra makroer eller hele samlinger af disse de såkaldte pakker. Disse inkluderes via \usepackage[ options ]{ pakkenavn(e) } 1.1 viser de fem standardpakker man altid kommer til at bruge: \usepackage[latin1]{inputenc} \usepackage[danish]{babel} \usepackage[t1]{fontenc} \usepackage{amsmath,amssymb} I stedet for latin1 anvendes ansinew hvis man anvender Windows TM samt applemac for MAC TM. Nyere Linux systemer gemmer teksten i uft8, så der skal man bruge utf8 som option til inputenc. Den pakke i oversigten første sørger for at vi må skrive æ, ø og å direkte i kildekoden uden skal skulle anvende specialkonstruktioner, den anden giver danskopsætning af specielle ord og lignende, aktiverer desuden de danske orddelingsmønstre. Pakken fontenc hjælper bl.a. med orddelingen ved æ, ø og å, desuden findes visse fonte kun i encodningen T1. De sidste to pakker giver bedre matematik opsætning. Vi skal senere se på hvordan man laver sine egne simple makroer (se appendiks A på side 205). 1.2.4 Selve dokumentet Imellem \begin{document} og \end{document} skriver man altså sit dokument. Tip 1.2. Det gælder den specielle feature at alt efter \end{document} ignoreres. Dette kan f.eks. være nyttigt når man forsøger at lokalisere fejl i ens dokument. Hvad man ellers skriver her kommer vi til i kapitel 2 og frem. 1.3 Når noget går galt 1.5 Den største kilde til problemer for en nybegynder (og andre) er når man staver makronavne forkert. Prøv f.eks. at gemme følgende som eks2.tex og kør det igennem L A TEX. 1 \documentclass[a4paper]{article} 2 \begin{document} 3 hmm \foo virker ikke 4 \end{document} 8

Dansk opsætning 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? L A TEX fortæller her at der er en kontrol sekvens (en makro) som den ikke kender og at denne befinder sig på linie 3 i eks2.tex. For at komme videre kan man taste/trykke x for at stoppe kompileringen her. Så kan man rette fejlen og starte kompileringen igen. h for at få hjælp (hvis der er nogen). q for at fortsætte kompileringen og ignorere alle fejl. RETURN for at lade L A TEX lave et (intelligent) forslag og lade kompileringen fortsætte. I eksemplet er makroen \foo selvfølgelig problemet da der ikke automatisk findes en makro med dette navn. I disse tilfælde kan man kun gå tilbage og genneskue hvad problemet var. Se desuden appendix C. 1.4 Dansk opsætning Når man nu er begyndt at eksperimentere med at skrive L A TEX-kode 7 kommer man også til det punkt at man prøver at skrive æ, ø, å, eller é direkte fra tasteturet. Til ens store overraskelse til man opdage at disse bare bliver ignoreret. Dette skyldes at L A TEX traditionelt blev udviklet i USA hvor man jo ikke havde brug for disse tegn. I stedet lavede Knuth forskellige makroer til at give / eller konstruere disse tegn. via kan æ, ø og å skrives via \ae, \o og \aa. Heldigvis for os, var der andre europærere som syntes dette var bøvlet, så man har i dag lavet en udvidelse (pakke) som sørger for at L A TEX selv \ae (æ) \o (ø) \aa (å) 7 Hvilket jeg håber man er begyndt på. 9

1. Velkommen til den forunderlige L A TEXniske verden inputenc babel fontenc 1.6 internt kan oversætte tegnet æ til noget den forstår. Prisen for dette er at man skal fortælle L A TEX hvilket system (inputencoding) man arbejder på (idet forskellige systemer desværre koder specialtegn forskelligt). Alt i alt bliver den gode opsætning for danskere at man skal altid huske følgende tre linier \usepackage[latin1]{inputenc} \usepackage[danish]{babel} \usepackage[t1]{fontenc} Hvor en Windows-bruger skal anvende ansinew i stedet for latin1 og en MAC-bruger skal anvende applemac. Desuden skal man selvfølgelig huske a4paper som option til dokumentklassen. 10

K a p i t e l 2 Almindelig tekst Dette kapitel handler om behandlingen af den almindelige tekst, tegnsætning, specialtegn, skift af fontvariant og lignende. 2.1 Tegnsætning Indenfor L A TEX skriver man bare sin almindelige tekst som man normalt ville gøre. Sætter punktum, komma, kolon og semikolon som man plejer. Men for resten af tegnsætningen gælder der helt andre regler som man nok ikke er stødt på i ens brug af mere gængse tekstbehandlingsprogrammer. Tvunget linieskift og nyt afsnit Hvis man bare manuelt bryder linien sker der ikke noget i det man får ud. Hvis man bare manuelt bryder linien sker der ikke noget i det man får ud. 2.1 Dette er man også vant til fra andre lignende programmer. Skulle man have brug for at lave et tvunget linie skift laves det via \\ eller via \newline. \\ Igen skriver vi noget\\ og skifter linie Igen skriver vi noget og skifter linie \newline 2.2 Indsætter man derimod to linieskift (i.e. trykker 2+ gange på return) så der opstår blanke linier, får man nyt afsnit som generelt er indenteret. Mere tekst og en blank linie som starter et nyt afsnit. Mere tekst og en blank linie som starter et nyt afsnit. 2.3 11

2. Almindelig tekst Tvungen sideskift \newpage 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 tabeller eller i fremhævet matematik. Indrykning \noindent Som nævnt i et tidligere afsnit indrykkes nye paragraffer automatisk. Skulle det ske at dette ikke lige var det som der ønskes (f.eks. efter forskellige environments) kan man starte linien med \noindent. Det er muligt helt at fjerne denne indentering, men det anbefales kun til breve (i de specielle brev klasser er indenteringen automatisk sat til nul). Anførselstegn babel Indenfor L A TEX og (stort set) resten af typografiens verden anvender man ikke tegnet " til at angive anførselstegn. 1 Dette tegn (fra tastaturet) benyttes derfor (f.eks. af babel) til andre ting. I stedet anvendes tre (eller fire) forskellige former for anførselstegnsmarkeringer. Kilde Output Beskrivelse Tabel 2.1: Anførselstegn i L A TEX enkelt anførselstegn. Bemærk at start og slut tegn er to forskellige tegn. Den første er accent-agu (specialtegn fra tasteturet, på et dansk tastetur er det det øverste tegn på tasten med de to streg accenter, på et amerikansk tastetur findes det under ESC tasten) mens sluttegnet er aprostrof. Engelske dobbelt anførselstegn. Bemærk at start- og sluttegnet automatisk sættes tæt sammen. " " Danske dobbelt anførselstegn. Bemærk brugen af ". >> <<» «Kaldes guillemets. Bemærk at det er babel som giver denne omtalte forkortelse. Man kan også benytte \guillemotright (») og \guillemotleft («). Grunden til at vi benytter right varianten som starttegn er at er den franske notation. Mens rækkefølgen er omvendt på dansk. Man kan også få. 1 Bemærk at start og slut anførselstegnet i de fleste bøger ikke er det samme, i denne font er det..., dvs. man skal kunne se hvilket anførselstegn fungerer som starttegn og hvilken anvendes som sluttegn derfor dur det ikke med det samme symbol som start- og sluttegn. 12

Streger Streger De fleste tror nok at der kun findes en form for streg, nemlig»-«som ligger på tasteturet. Men indenfor typografiens verden er der faktisk (mindst) fire, med hver deres funktion. Heldigvis har L A TEX gjort dem nemme at gå til, de er nemlig alle bare forskellige antal - skrevet efter hinanden. L A TEX laver så de to af dem om til det man kalder ligaturer. Bindestregen benyttes som navnet Tabel 2.2: Streger i L A TEX. Kilde Output beskrivelse a-b a-b Bindestreg. a--b a b En-dash. Se forklaring i teksten. a---b a b Em-dash. $a-b$ a b Matematisk minus. antyder som bindestreg, men kun som bindestreg! jeg gentager: Kun som bindestreg! En en-dash anvendes til at indikere et interval 2, man skriver altså 12 19 (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. Kan også anvendes i tabeller for at markere en tom celle. Man skal bemærke at L A TEX gerne må orddele ord ved bindestreg. Hvis det er et problem (f.eks. ved ordet p-adisk) kan man benytte \nobreakdash som stammer fra pakken amsmath. 3 Man sætter så \nobreakdash foran den streg ved hvilken man gerne vil undertrykke ordelingen. Der er dog en lille hage ved bindestregerne, L A TEX vil nemlig ikke automatisk orddele ordet efter bindstregen. Det er der dog råd mod se afsnit 2.6. \nobreakdash amsmath Ellipsis... Typografisk set kaldes... ellipsis, på dansk er det bare prik prik prik. Men hvad mange ikke lægger mærke til er at dette ikke er det samme som at sætte tre punktummer (...) eller med mellemrum (...). I den første er».«-erne for tæt 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.5. En, to, \dots\ og endnu mere En, to,... og endnu mere \dots 2.4 2 Dette er en meget almindelig fejl som jeg retter alt for ofte, så husk det nu. 3 Den anvender man jo alligevel altid... 13

2. Almindelig tekst Specialtegn og accenter inputenc fontenc Kombinationen af pakkerne inputenc og fontenc gør det muligt for L A TEX at forstå tegn som é eller ç skrevet direkte fra tasteturet. Men det er jo ikke alle som har adgang til f.eks. Ț, Ę, Ğ eller ň. Dette løser L A TEX ved at give genveje disse tegn, se tabel 2.3. Bemærk at man ved \v får et lidt anderledes Tabel 2.3: Accenter og specialtegn i L A TEX Kilde Effekt Navn Kilde Effekt \ \ {e} é accent acute \AE Æ \ \ {a} á accent grave \DH Ð \" \"{o} ö umlaut \DJ Ð \. \.{Z} Ż accent prik over \L Ł \^ \^{o} ô accent circumflex \NG Ŋ \~ \~{n} ñ accent tilde \O Ø \= \={y} ȳ macron \OE Œ \b \b{a} ā accent understreg \TH Þ \c \c{c} ç cedille \ae æ \k \k{e} Ę accent omvendt cedille \dh ð \r \r{u} ů ring over \dj đ \t \t{oo} oo bind efter \l ł \u \u{g} Ğ accent breve \ng ŋ \v \v{d} Ď accent háček \o ø \H \H{O} Ő ungarsk umlaut \oe œ \d \d{e} ẹ accent prik under \th þ \aa (å) \AA (Å) danske bogstaver 2.5 inputenc udseende ved bogstaverne L, d, og l, à la Ľ. Desuden er \aa og \AA også to (af danskere) meget anvendt genveje (til \r{a} og \r{a}). Husk at man i matematik har helt andre konstruktioner til at lave matematiske accenter, konstruktionerne beskrevet her kan/bør 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 Å. Husk dog at man med pakken inputenc med det rigtige valgfri argument gerne må skrive æ, ø eller å direkte fra tastaturet. 2.2 Om fontvalg og størrelser 2.2.1 Fontstørrelser Som allerede nævnt tidligere er det normalt dokumentklassen samt dens indbyggede options som styrer den overordnede fontstørrelse. Men lokalt kan man 14

Skift af fontvariant sagtens ændre den. Der er dog en meget vigtig lektion at lære her. Makroerne som beskrives i det efterfølgende er såkaldte deklarationsmakroer, dvs. de tager ikke noget argument, men ændrer i stedet tingenes tilstand herfra og frem, man skal derfor passe lidt på. Makroerne ses i tabel 2.4. F.eks.\ vil teksten også være i \verb+\tiny+ efter \verb+\tiny{tekst}+ -- se selv \tiny{tekst} mere tekst F.eks. vil teksten også være i \tiny efter \tiny{tekst} se selv tekst mere tekst Hvis det er til en forside eller noget lignende kan man benytte syntaksen {\makro...}, hvor så { } beskytter det efterfølgende, se evt. afsnit A.2. Det skal dog indskydes at man også kan få andre størrelser, men det skal vi ikke komme nærmere ind på her. I kapitel 11 på side 185 skal vi se på hvordan man laver forsider, der vil vi se nærmere på alternative fontstørrelser, se også afsnit 10.5.2 på side 182. De faktiske størrelser afhænger af den valgte dokumentklasse. deklarationsmakroer 2.6 Tabel 2.4: Fontstørrelser i L A TEX Kilde Effekt Kilde Effekt \tiny tekst \scriptsize tekst \footnotesize tekst \small tekst \normalsize tekst \large tekst \Large tekst \LARGE tekst \huge tekst \Huge tekst 2.2.2 Skift af fontvariant Under normale omstændigheder har man i sit dokument adgang til forskellige fontvarianter. Man kan selvfølgelig også skifte selve fonten, hvilket vi taler lidt om i afsnit 10.5 på side 180. L A TEX deler fontbehandlingen op i tre dele, en serie, en form og en familie. Alt efter den font man anvender kan disse så blandes til f.eks. at give en fed kursiv tekst, se tabel 2.5 på den følgende side. Så vil \textbf{\textit{tekst}} (tekst) så give fed kursiv tekst. Man skal dog vide at det kommer helt an på fontopsætningen hvilke sammensætninger som virker. F.eks. er det sjældent at der findes en kursiv (eller fed) small caps. 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. Simpel forskel 2 (\textsl{2}) vs. 2 (\textit{2}) ved brug af Computer Modern fonten. De alternative variantskiftende makroer er igen deklarationsmakroer og tager altså ikke noget argument. De korte \text... kommandoer kan kun 15

2. Almindelig tekst Tabel 2.5: L A TEXs metoder til skift af fontvariant. Tekstkommando Alternativ Effekt \textrm{...} {\rmfamily... } romersk \textsf{...} {\sffamily... } sans serif \texttt{...} {\ttfamily... } typewriter \textmd{...} {\mdseries... } medium \textbf{...} {\bfseries... } fed \textit{...} {\itshape... } kursiv \textup{...} {\upshape... } upshape \textsl{...} {\slshape... } slantet \textsc{...} {\scshape... } small caps \textnormal{...} {\normalfont... } normal dokument font \emph{...} {\em... } fremhævet, se teksten tage korte tekster, svarende til en paragraf. Skal man bruge mere skal man anvende den alternative metode. \it \bf \sc Advarsel 2.1. I visse sammenhænge ser man også makroerne \it, \bf, \sc etc. Disse bør man holde sig fra og i stedet holde sig til \text... varianterne. Disse makroer stammer fra TEX og deres brug kan være forvirrende for meningmand. (Prøv at sammenligne {\bf\it tekst} med {\it\bf tekst}, det er nok de færreste som havde forventet dette. Der er dog ingen problemer med at mikse de lange varianter \itshape, \bfseries, \scshape etc.) \emph \emph 2.7 fixltx2e \eminnershape Til fremhævning af noget tekst anvendes altså makroen \emph der normalt sætter teksten i kursiv. Men i modsætning til \textit holder \emph øje med den omkringliggende tekst og sørger for at ændre opførsel derefter. noget almindeligt tekst \emph{fremhævet} og mere tekst. Så kommer der noget i \textit{kursiv og her \emph{fremhæver} vi igen}. noget almindeligt tekst fremhævet og mere tekst. Så kommer der noget i kursiv og her fremhæver vi igen. Som man kan se bliver fontvalget i det første eksempel til kursiv, mens det i det andet bliver den normale upright font. Denne forskel kan være lidt svær at se. Med pakken fixltx2e 4 får man makroen \eminnershape som kan ændres til et andet valg. 4 Som man anbefales at anvende under alle omstændigheder. 16

Fodnoter \usepackage{fixltx2e} \renewcommand*\eminnershape{\scshape} slut preamble noget almindeligt tekst \emph{fremhævet} og mere tekst. Så kommer der noget i \textit{kursiv og her \emph{fremhæver} vi igen}. noget almindeligt tekst fremhævet og mere tekst. Så kommer der noget i kursiv og her fremhæver vi igen. 2.8 2.3 Fodnoter Fodnoter i L A TEX laves med en oplagte makro \footnote{ tekst }. Der er visse situationer som man skal være opmærksom på. \footnote 1. Man bør ikke lave fodnoter indeni noget matematik, idet nummereringen (som normalt er et superscript tal) nemt kan forveksles med et matematik superscript. 2. \footnote er en såkaldt fragile (skrøbelig) makro, hvilket betyder at fragile den skal beskyttes (\protect) hvis den skal anvendes i argumenter som \protect flyder (dette er som oftest \caption eller \section er). 3. Fodnoter i tabeller er noget man skal være forsigtig med, se afsnit 7.5.1 side 131. 4. Fodnoter i kapitel-/afsnitoverskrifter er ikke noget problem, men bør foretages med omtanke, da fodnoten ellers f.eks. vil havne i indholdsfortegnelsen eller i den løbende header. Se afsnit 2.7. \caption \section En fodnote vil som navnet antyder blive skrevet ved sidens fod. Indenfor visse områder har man i stedet tradition for at skrive (fod)noterne i slutningen af dokumentet. Dette kaldes også endnotes. I L A TEX klares dette med pakken endnotes og man benytter så makroen \endnote i stedet for \footnote. 5 Listen af endnotes indsættes så senere via \theendnotes. Man kan i L A TEX også sagtens lave noter i marginen af ens dokument, hvilket vi f.eks. har anvendt i denne bog. Dette vil vi ikke komme nærmere ind på. endnotes \endnote \theendnotes 2.4 Justering af tekst Centrering Et stykke tekst som skal fremhæves ved centrering pakker man ind i environmentet center. center 5 Man kan dog sagtens omkonfigurere \footnote til at være det samme som \endnote. 17

2. Almindelig tekst 2.9 tekst tekst tekst tekst tekst før \begin{center} centreret tekst \end{center} tekst tekst tekst tekst tekst efter tekst tekst tekst tekst tekst før centreret tekst tekst tekst tekst tekst tekst efter \centering Sidebemærkning 2.1. Vi skal senere se at man ved flydende figurer eller tabeller ikke benytter denne konstruktion. Her benytter man normalt \centering, som har den fordel overfor center at den ikke introducerer noget ekstra vertikal spacing. Venstre- / højrejustering Gøres med hhv. flushleft og flushright. Bemærk at dette slår også ordde- lingen fra indenfor dette environment. flushleft flushright 2.10 \begin{flushright} Dette er noget lang tekst som bare bliver ved og ved\\ noget mere tekst \end{flushright} Dette er noget lang tekst som bare bliver ved og ved noget mere tekst flushright kan jo f.eks. anvendes til at lave en underskrift på en afleveringsopgave. Citater quote quotation 2.11 L A 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 højre 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 Tekst 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 Noget mere tekst Det er lidt hip som hap hvilken en man benytter. Man kan så sammensætte dette med nogle font- og størrelsesændringer. 18

Lister 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 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 Noget mere tekst 2.12 Bemærk at teksten i eksempel 2.12 er indenteret, sammenlign med eksempel 2.11 på modstående side. 2.5 Lister L A TEX har grundlæggende tre typer lister en punktopstilling, en nummereret liste samt en beskrivende liste. punktopstilling nummereret liste beskrivende liste Punktopstilling En punktopstilling laves med environmentet itemize. Hvert punkt startes med \item. \begin{itemize} \item Punkt et \item Punkt to \item Punkt tre \end{itemize} Punkt et Punkt to Punkt tre Man skal være opmærksom på at en ændrer sig når man sætter lister inden i hinanden. \begin{itemize} \item Punkt et \begin{itemize} \item punkt \end{itemize} \item Punkt tre \end{itemize} Punkt et punkt Punkt tre itemize \item 2.13 2.14 Nummereret liste En nummeret liste laves med environmentet enumerate \begin{enumerate} \item et \item to \item tre \end{enumerate} 1. et 2. to 3. tre enumerate 2.15 19

2. Almindelig tekst enumerate (pakke) Nogle gange vil man gerne kunne benytte f.eks. a, b, c,... som nummerator. Til dette formål har man pakken enumerate, som så giver \begin{enumerate} et valgfrit argument, f.eks. 2.16 enumerate \usepackage{enumerate} slut preamble \begin{enumerate}[(a)] \item et \item to \item tre \end{enumerate} (a) et (b) to (c) tre Anvendes pakken enumerate vil enumerate kigge efter tegnene a (små bogstaver), A (store bogstaver), i (små romertal), I (store romertal) og 1 (almindelige tal) og så skrive selve tælleren efter dette valg. Udover dette er det helt op til en selv at bestemme hvad man vil skrive. Da enumerate reagerer på de nævnte tegn, kan man se sig nødsaget til at bestytte visse dele af argumentet angivet i [ ]. Se de første to punkter i eksempel 2.17. 2.17 \usepackage{enumerate} slut preamble \begin{enumerate}[aksiom A] \item $1+1\neq 3$ \item $e^{\pi i}+1=0$\\ noget tekst på næste linie \end{enumerate} og den rigtige løsning \begin{enumerate}[{aksiom} A] \item $1+1\neq 3$ \item $e^{\pi i}+1=0$\\ noget tekst på næste linie \end{enumerate} AksAom A 1 + 1 3 BksBom B e πi + 1 = 0 noget tekst på næste linie og den rigtige løsning Aksiom A 1 + 1 3 Aksiom B e πi + 1 = 0 noget tekst på næste linie Man bemærker også at indenteringen automatisk justeres alt efter bredden af det valgfri argument. Beskrivende liste En beskrivende liste genereres med description. Teksten man gerne vil be- skrive skrives så som valgfrit argument til \item. description \item 2.18 \begin{description} \item[aksiom A] $1+1\neq 3$ \item[aksiom 28] $e^{\pi i}+1=0$\\ noget tekst på næste linie \end{description} Aksiom A 1 + 1 3 Aksiom 28 e πi + 1 = 0 noget tekst på næste linie 20

Orddeling Bemærk at teksten er skrevet med fed (dette kan konfigureres, se Mittelbach og Goossens (2004)) og at lang titel tekst bare rykker ind i selve beskrivelsen, bør dog ikke være bredere end selve tekstbredden. 2.6 Orddeling En korrekt installeret 6 L A TEX installation vil selv være i stand til at orddele langt de fleste ord, især i samarbejde med babel og fontenc. Der vil altid babel være visse ord som L A TEX ikke selv kan finde ud af, eller visse ord som man fontenc slet ikke vil have ordddelt. Når L A TEX ikke selv kan finde ud af at orddele et bestemt ord vil man ofte se at ordet stikker ud i højre margin. Man kan så hjælpe L A TEX ved at indsætte \- mellem de stavelser hvor man vil tillade L A TEX at orddele ordet. \- Det er så op til L A TEX at finde det bedste sted at lave en eventuel orddeling. Har man nogle ord som L A TEX bare bliver ved med ikke at kunne orddele, kan man i stedet fortælle globalt hvordan man gerne vil have ordet orddelt. Dette sker med makroen \hyphenation{ liste af ord separeret af mel- \hyphenation lemrum }, man markerer stavelserne ved at indsætte -, altså ikke \-! \hyphenation{ord-de-lings-al-go-rit-me FORTRAN} Man kan også på denne måde bestemme at man f.eks. kun måtte orddele orddelingsalgoritme mellem orddelings og algoritme ved kun at indsætte en - mellem de to ord. 2.19 betyder også at ordet FORTRAN og varianter af denne ikke må orddeles. \hyphenation placeres i preamblen og man må gerne lave flere af dem. Hvis et ord optræder uden - vil dette ord slet ikke blive orddelt. Ønsker man lokalt at undgå at et ord orddeles kan man eksempelvis anvende \mbox{ tekst }. 2.19 preamblen \mbox 2.7 Opdeling af teksten L A TEX fungerer som et markup-sprog, lidt lige som html, dvs. når vi gerne vil have en overskrift skal man anvende en speciel makro til at skrive denne med. Sidebemærkning 2.2. Dette er ikke det samme som f.eks. {\noindent\bfseries\large Title} måske med noget vertikalt plads før og efter. Det ses stadigvæk at nogle anvender disse konstruktioner. Det er desværre et levn fra programmer som Word TM eller WordPerfect TM som man skal have aflært. 6 MikTEX brugere skal huske at tilføje dansk som sprog i MikTEX options efter installationen. For andre installationer skal man konsultere dokumentationen eller huske at tage højde for det ved installationen. 21