Introduktion til L A TEX

Størrelse: px
Starte visningen fra side:

Download "Introduktion til L A TEX"

Transkript

1 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

2 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.

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

4

5 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 Konstruktion af bibliografi Diverse Konfigurering af layout i L A TEX 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

6

7 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 Et simpelt start eksempel L A TEX syntaks Lidt L A TEX terminologi Dokumentklassen 6 Nogle dokumentklasser Preamblen Selve dokumentet Når noget går galt Dansk opsætning 9 Kapitel 2 Almindelig tekst Tegnsætning 11 Tvunget linieskift og nyt afsnit 11, Tvungen sideskift 12, Indrykning 12, Anførselstegn 12, Streger 13, Ellipsis... 13, Specialtegn og accenter Om fontvalg og størrelser Fontstørrelser Skift af fontvariant Fodnoter Justering af tekst 17 Centrering 17, Venstre- / højrejustering 18, Citater 18 iii

8 Indholdsfortegnelse 2.5 Lister 19 Punktopstilling 19, Nummereret liste 19, Beskrivende liste Orddeling Opdeling af teksten Indholdsfortegnelse Krydsreferencer Forfatter, titel og dato 25 Kapitel 3 Introduktion til matematik Matematik i L A TEX Syntaksregler i matematik mode 28 Mellemrum tæller ikke 28, Ingen danske bogstaver 28, Begrænset automatisk linieombrydning Tegnsætning i matematik Fremhævet matematik 29 equation 30, align 31, Matematik og krydsreferencer Symboler og operatorer Forskellige symboler Store symboler Matematiske fonte 36 Fed skrift i matematik Navngivne operatorer Dots Matematiske accenter Hegn Om \left og \right 44 Vaianten \middle Om m-varianterne af \big... \Bigg 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 Matematisk typografi Hvor må man dele en formel? Formelombrydning i tekst-mode 56 Automatisk ombrydning af matematiske udtryk i teksten 57, Automatisk indsættelse af gangetegn Formelombrydning i fremhævede formler 58 iv

9 Indholdsfortegnelse Tegnsætning i matematik Display-environments Alignment 61 Alignmentsøjle 61, Align 62, Alignat 63, Flalign 65, Kommentarer i alignment matematik Centreret flerliniet matematik Multline Varianter 67 Split 67, Aligned 68, Alignedat 68, Gathered Sideskift i fremhævet matematik Spøgelser Konfigurering af og leg med formelnummeret Fjernelse af formelnummer Skrive noget andet i stedet for formelnummeret Konfigurering af hvordan formler nummereres AMS udvidelsen mathtools Justering vedrørende grænser på operatorer Intelligente afgrænserfunktioner Hvordan viser man kun refererede formler? Andre Diagrammer i L A TEX Diagrammer med XY-pic og \xymatrix Pile: \ar syntaks 75 Placering 75, Pilens udformning 76, Labels Prækompilering XY-pic og Babel Yderligere bemærkninger Matematisk spacing mellem symboler 79 Kapitel 5 Sætningskonstruktioner i L A TEX \newtheorem syntaks Amsthm Almindelig brug af amsthm Beviser med amsthm Ntheorem Konfigurering Theoremstyles Slutmarkører Beviser med ntheorem Andet godt med sætningskontruktioner Afmærkede konstruktioner Konstruktioner som starter med en liste Mere om optimeringseksemplet 92 v

10 Indholdsfortegnelse Kapitel 6 Om grafik, floats og konfigurering af captions Inklusion af ekstern grafik Billedkonvertering 96 eps til pdf 96, jpg til eps 96, png til eps 97, mps til eps 97, pdf til eps Syntaks for inkludering af ekstern grafik Yderligere konfiguration vedrørende grafik 99 En kildefil flere outputformater 99, METAPOST inklusion i pdflatex 100, At hente figurer fra andre biblioteker Inklusion af hele dokumenter Floats Syntaks Her til og ikke længere Ikke-flydende floats Flere figurer på én gang Konfiguration af caption 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 Brug af pakken subfig Andre grafik relaterede ting At skrive tekst rundt om figurer Rette på labels i eps figurer Dette er et udkast Baggrundsbilleder 113 Kapitel 7 Om tabeller i L A TEX En test Tabelsyntaks Søjlekonfiguration Linier i tabeller Overskriftsceller Datatabeller Pænere vandrette linier med booktabs Automatisk decimal alignment med dcolumn Kildekoden til tabel Når tabellen fylder mere end en side Ekstra bemærkninger Bemærkninger og noter i tabeller 131 Fodnoter i tabeller 131, Håndlavede noter i tabeller Tabeller eller figurer i landscape Farver i tabeller 133 vi

11 Indholdsfortegnelse Automatisk justerede søjlebredder 134 Kapitel 8 Konstruktion af bibliografi Citeringskonventioner thebibliography-environmentet Syntaks Forfatter-år citeringer lavet uden BibTEX BibTEX Hvad er BibTEX? Forfatter-år citeringer med natbib 140 Options til natbib-pakken Generering af BibTEX-database 142 Beskrivelse af format 142, Syntaks for authorfeltet 144, Specielt om titelfeltet 145, URL i bibliografier Bibliografistilarter Sprogproblemer ved brug af BibTEX Generering af egen bibliografistil 146 Kapitel 9 Diverse Ordret fremvisning af tekst Kildekode fremvisning Lidt om listings Opsætning til SAS-udskrifter via listings Beskrivelse af algoritmer Brug af algpseudocode-pakken Struktur konstruktioner Flydende algoritmer Lidt fysik og kemi Enheder og indices Forbindelser Andet Håndtering af større projekter Opdeling af kildekoden 159 \input 160, \include 160, Masterfilen Kommentarer og ekskludering 162 Ekskludering af dele af teksten fixme indsæt specielle noter i teksten At holde styr på labels og lignende 165 showkeys vis indsatte og anvendte label-keys 165, varioref lidt smartere henvisninger Hvordan finder man manualen til pakken X? 167 vii

12 Indholdsfortegnelse L A TEX og Typografi Kapitel 10 Konfigurering af layout i L A TEX Opsætning af marginer B5 på A Headere og footere 174 Begrebet pagestyle 174, Egne pagestyles med fancyhdr 175, For lang headertekst Indholdsfortegnelse 178 At få bibliografi og indeks med i ToC 179, Konfigurering af ToC Overskrifter 180 Afsnitstitler uden nummer men med i ToC Fonte og fontstørrelser Fontmuligheder 180 Computermodern 181, Times 181, Palatino Fontstørrelser Ændring af standardnavne 183 Kapitel 11 Opbygningen af et speciale eller bachelorprojekt Opbygningen af en bog 185 Titelmateriale 185, Frontmatter 186, Mainmatter 187, Backmatter Specialelayout med memoir Layoutformulering Marginer Headere og footere Overskrifter og ToC Forside med memoir 192 Generelle redskaber 192, En simpel forside 193, En kolofon bag på forsiden 195, En dedikationsside 196, Louises forside Opbygningen af et speciale med memoir 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 208 viii

13 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

14

15 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 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

16 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

17 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

18 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

19 Introduktion til LATEX

20

21 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 a-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

22 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 ( TeX output :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

23 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 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

24 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 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

25 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} 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

26 1. Velkommen til den forunderlige L A TEXniske verden 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) 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

27 Dansk opsætning hvilket giver latex eks2.tex This is TeX, Version (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

28 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

29 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

30 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

31 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) og ikke (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 En, to, \dots\ og endnu mere En, to,... og endnu mere \dots Dette er en meget almindelig fejl som jeg retter alt for ofte, så husk det nu. 3 Den anvender man jo alligevel altid... 13

32 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 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

33 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 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 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

34 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

35 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 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 side 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

36 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

37 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 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

38 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 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 \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 BksBom B e πi + 1 = 0 noget tekst på næste linie og den rigtige løsning Aksiom A 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 Aksiom 28 e πi + 1 = 0 noget tekst på næste linie 20

39 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 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 } 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