L A TEX for viderekomne

Like dokumenter
L A TEX for viderekomne

Odda er et spesielt sted. En fargeklatt innerst i fjorden.

ROS-analyser og temadata i kommuneplanarbeidet

DOKUMENTASJON AV FLAUM- OG SKREDHENDINGAR

INF1500 Høst 2015 Magnus Li Martine Rolid Leonardsen. Designprinsipper del 2

Industritomter i Surnadal

Regulatory affairs: Fra klinisk studierapport til reklametekst. Inge Johansen 10. april 2018

Grafisk profilhåndbok

RETNINGSLINJER FOR DESIGN

Videregående L A TEX

GRAFISK PROFILMANUAL KRAFTSENTERET ASKIM

Innhold. 4-5 Om profilen 6-7 Konsept og slagord

Profilhåndbok PROFILHÅNDBOK

Profilhåndbok PROFILHÅNDBOK

Vi skaper sterke opplevelser midt i Vesterålen.

Oversikt. Intro til LaTex. Hva du trenger å kunne for å skrive en bra rapport til oblig 1, inf3190 L A T E X. Filens utseende.

Designmanual. Versjon 1.1/2018

HÅNDBOK: GRAFISK PROFIL ... Logo Fonter Støtteelementer Visittkort Brevark. Konvolutter Støttefarger. Bildebeskjæring Folder

SOVER? NÅR VI HVA SKJER UNGDOM OG SØVN TIPS FOR. A better sleep. A better you. loggen HVOR MYE SØVN TRENGER VI? HELSE, HUMØR, LÆRING OG PRESTASJONER

Introduksjonskurs i L A TEX Del 2

BackeGruppen Designmanual. AS Backe Widerøeveien 1 Postboks Lysaker telefon: post.ba@backe.no

Dagens tema. Hva forteller feilmeldingene? Hvorfor flyter figurene ikke dit jeg vil? Makeindex. Fontvalg i L A T E X

Noen innledende ord om LaTeX

DFI Profilmanual 2017

Intro til L A TEX Del II

Realstart/Teknostart 2013

MUNCH 150 DESIGNMANUAL

Introduksjon til L A TEX

DESIGNMAL FLEXX ØSTFOLD Q1 versjon 0.0.1

PROFILHÅNDBOK Sortland kommune. Sortland kommunes profilhåndbok er utarbeidet av reklamebyråene Mål & mening og God strek.

SPYDEBERG. Velkommen SMÅBYEN HJEM NÆRINGSLIV KULTURLIV FRITIDSTILBUD NATUROPPLEVELSER

Introduktion til LATEX

Realstart/Teknostart Jon Andreas Støvneng

Samhandling i bruk av ny teknologi gir økt produktivitet

Oppgavehefte. Totimers L A TEX-kurs. Hege Victoria Daljord, Orakeltjenesten, NTNU

D e s i g n P o r t e f ø l j e

NYTT NORSKVERK FOR STUDIE- FORBEREDENDE

Profilhåndbok. NRK P13 Profilhåndbok Sist endret:

Tittel i The Sans SemiLight 24 punkt Over en eller to linjer

GRAFISK PROFIL. Bibelskolen i Tromsø

il f o r p k is f a r G

En kort innføring i L A TEX

Invitasjon til Konferansetittel

Profilhåndbok Ansvarlig: Informasjonsavdelingen Vedtatt: (Versjon 1)

Oversikt. En introduksjon til L A TEX. L A TEX-filosofi. Å komme igang. Håvard Berland. 18./25. oktober 2010

Oppgradert logo. CTM Lyng AS / miniprofil. Oppsettet er fast, proporsjonene må ikke endres Minste tillatte str. = 10 mm Kun en fargevariant som vist

PROFILHÅNDBOK ST. OLAVS HOSPITAL Versjon 1.0. Forord. Logo og symbol. Farger / mønster. Typografi. Bruk av logo. Stillingsannonser

GRAFISKE RETNINGSLINJER

Kurs for ADA, 17. april Lars Erik Walle

En introduksjon til L A TEX

MMT105 Internettprogrammering Uke 44, høst 2007

NRK Super. Merking av lisensprodukter. Merking av lisensprodukter med NRK Super-logo Side 2 NRK Aktivum Sist endret

Oppsett L A T E X filer lages med en teksteditor. Emacs anbefales; Notepad anbefales ikke! Et eksempel. Nytt tall funnet ved Ifi

L A T E X. en første innføring av Dag Langmyhr. 2006, Dag Langmyhr, Ifi/UiO Forelesning 11. september 2006 Ark 1 av 24

Verdens korteste grunnkurs i Excel (2007-versjonen)

Vår grønne. menighet PROFILMANUAL

Nasjonal kommersialiseringsaktør i mikro- og nanoteknologi.

Kom godt i gang med LATEX

Grafisk profil. Norfjord Skifer

LAT E X for viderekomne

Logo. Farger. Fonter. Designelement. Bilder. Implementering

PROFILMANUAL ÁRRAN - JULEVSÁME GUOVDÁSJ / LULESAMISK SENTER

Profilhåndbok Aktiv mot kreft. Revidert 2014

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Institutt for informatikk Universitetet i Oslo

Ny oppdatert profil. SiO har i løpet av 2005 fornyet sin eksisterende profil.

Verden. Steg 1: Vinduet. Introduksjon

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

NY PÅ NETT. Enkel tekstbehandling

Bruk av OpenOffice.org 3 Writer

Visuell identitet Profilmanual

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Robotinvasjon Introduksjon ComputerCraft PDF

Dagens tema. L A T E X filer. BibT E X Hovedidé. Et eksempel. Hvordan jobber BibT E X? Hvordan bygge opp en database? Ulike BibT E X stiler

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

L A T E X del II. Dagens opplegg. L A T E X kommandoer. Lister. Matematiske formler. Tabeller. Litt typografi. Egendefinerte kommandoer

Midnattsolveien. Profilhåndbok. Rettningslinjer for Midnattsolveien

Intro til L A TEX Del I

INF Obligatorisk innlevering 7

Sprettball Erfaren ComputerCraft PDF

Retningslinjer for bruk av Svanemerket. på produkter og tjenester

Hovedtittel B5 Plain 24/30 punkt

Denne håndboken presenterer Skibladners nye profil og hvordan Skibladner skal fremstå på best

Følgende «tommelfinger-regler» bør (må) følges:

Grunnleggende L A TEX

KOMME I GANG 3. Logge på 3. I redigeringsvinduet 4 OVERSIKT OVER KNAPPENE SOM LIGGER ØVERST I REDIGERINGSVINDUET 6

Visuell identitet Profilmanual

GR AFI SK PR OFI L Desember 2015

KOMME I GANG 2. Logge på 2. I redigeringsvinduet 3 OVERSIKT OVER KNAPPENE SOM LIGGER ØVERST I REDIGERINGSVINDUET 5

CSS-formatering: stilark med kommentarer

Kjenner du alle funksjonene på tastaturet?

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Kanter, kanter, mange mangekanter

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

INF1000 HashMap. Marit Nybakken 2. november 2003

Designmanual. En introduksjon til SVs visuelle identitet. sv.no

I denne oppgaven skal du lære hvordan du kan flytte rundt på elementer og gjemme elementene bak andre elementer ved hjelp av CSS.

MAT1030 Diskret Matematikk

Dere klarer kanskje ikke å komme gjennom hele heftet, men gjør så godt dere kan.

Transkript:

L A TEX for viderekomne Harald Hanche-Olsen 2005 05 18 LATEX vk 2005 05 18

L A TEX-misbruk Unngå eksplisitt layout i teksten! For eksempel hyppig bruk av \\, \\[4mm], eksplisitt \vspace og \hspace etc. Bedre: Globale definisjoner og deklarasjoner, miljø (environment). Hold form og innhold adskilt! (Så langt du klarer.) Bruk gjerne \smallskip, \medskip, \bigskip for eksplisitte vertikale mellomrom, \enspace, \quad og \qquad for horisontale mellomrom. Ikke bruk $$...$$. Bruk heller \[...\]. (Du får riktigere mellomrom rundt formlene, blant annet.) Men $...$ er ok, anbefales fremfor \(...\). Unngå {\em...} og {\it...}. Bruk heller \emph{...} og \textit{...}. Sammenlign vold i hjemmet med vold i hjemmet. Mange fler les l2tabuen! (texdoc l2tabuen.) LATEX vk 2005 05 18 1

Dokumentdeklarasjoner Ta med alle opsjoner som kan tenkes å ville brukes av flere pakker i klassedeklarasjonen. Eksempel: norsk, a4paper, draft. Men noen pakker vil ha private opsjoner. Eksempel: fontenc, inputenc, geometry. Pakker som ikke skal gis private opsjoner, kan listes i samme \usepackage. \documentclass[a4paper,12pt,norsk]{article} \usepackage[latin1]{inputenc} \usepackage[hscale=0.7,vscale=0.85,heightrounded]{geometry} \usepackage{babel,amsmath,graphicx} Et velstrukturert dokument vil nå fortsette med metadata som \author, \title, etc, etterfulgt av private definisjoner av kommandoer og environments, etc. Har du mange, kan det være lurt å skrive din egen pakkenavn.sty og inkludere den med \usepackage{pakkenavn}. LATEX vk 2005 05 18 2

Sidelayout Som en hovedregel, la dokumentklassen bestemme layouten. Spesifiser papirstørrelsen: \documentclass[a4paper,...]{klasse} Unngå pakker som a4, a4wide etc., de finnes i mange varianter, så du vet aldri hva du får. Du får god kontroll med geometry-pakken. Eksempel: \usepackage[hscale=0.7,vscale=0.85,heightrounded]{geometry} lar teksten fylle 70% av sidebredden og 85% av sidehøyden. Opsjonen heightrounded runder av teksthøyden til et helt antall linjer (\topskip pluss n 1 ganger \baselineskip for n linjer). Pakken har mange andre opsjoner og er veldokumentert. Pass på! Hvis tekstlinjene blir lange bør linjeavstanden økes noe, ellers blir teksten tung å lese. Et annet alternativ er å bruke alternative dokumentklasser. Det finnes mange: Den såkalte «KOMA-script bundle» har jeg ikke prøvd, heller ikke memoir-klassen. Personlig liker jeg å sette tekst på A5-papir og så generere PDF med to A5-ark per A4-side. LATEX vk 2005 05 18 3

Avsnittlayout Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Avsnittlayouten i eksempelet til venstre er vanlig: Innrykk undertrykkes i første avsnitt, ellers innrykk i hvert avsnitt uten mellomrom mellom avsnittene. \parindent er en lengde som angir normalt avsnittinnrykk. \parskip er en vertikal lengde som settes inn foran hvert nytt avsnitt. Normalt anbefales ikke å sette disse variablene selv! Men \usepackage{parskip} håndterer de verste bieffektene av å skru på disse variablene, og setter \parindent til null og \parskip til 0.5\baselineskip pluss 2 pt strekkbarhet. Etter å ha inkludert pakken kan du justere videre om du vil. (Vi har også \leftskip, \rightskip og \parfillskip.) LATEX vk 2005 05 18 4

Problem: Over- og underfulle bokser g h i J en bokstav er en boks. Alt TEX gjør er å stable bokser ved siden av hverandre (bokstaver i linjer) og oppå hverandre (linjer i avsnitt). Mellom boksene kan det være strekkbare og krympbare mellomrom («lim»): mellom ordene i et avsnitt mellom avsnitt (noen ganger) rundt figurer og frittstående formler Dette er en ekstremt underfull hbox. Mens denne boksen er overfull, fordi den inneholder mye mer tekst enn det er plass til å klemme inn på Linjen over er den naturlige bredden her (\textwidth=\hsize). LATEX vk 2005 05 18 5

Ombrekking Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. TEX sjekker alle mulige valg av linjedelinger, regner ut en badness for hver av dem, og velger den linjedelingen som gir minst total badness for avsnittet som helhet. (Dijkstras algoritme for korteste vei i en graf.) Badness for en linje: 100 strekk el krymp/tillatt 3, så 100 1/3 4.6 ganger tillatt strekk i én linje er uendelig ille. (Men krymping over 100 % er også regnet som uendelig ille.) I tillegg til badness kommer straffepoeng (penalties) for annet som ødelegger for estetikken, som delte ord (\hyphenpenalty). Sideombrekking gjøres etter tilsvarende algoritmer, men her er algoritmen «grådig» i stedet for global: TEX beregner hver side optimalt og sender den fra seg, uten hensyn til eventuelle konsekvenser for neste side. Sideombrekkingsalgoritmen kompliseres i høyeste grad av fotnoter og floats. LATEX vk 2005 05 18 6

Linjeombrekking Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. TEX prøver først å sette avsnittet uten å dele opp ordene. Dersom det ikke gir godt nok resultat, prøver den på ny, med orddelinger. For hver orddeling økes badness med \hyphenpenalty. (Jeg har satt \hyphenpenalty=10000 i eksemplet til venstre). \pretolerance: Grense for «godt nok», uten orddeling. Standarverdi 100. \tolerance: Grense for «godt nok», med orddeling. Standarverdi 100. \emergencystretch: Ekstra strekkbarhet per linje. Brukes bare om paremeteren er positiv og setting med orddeling ikke ga resultat bedre enn \tolerance. LATEX vk 2005 05 18 7

Linjeombrekking Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Her er fortsatt \hyphenpenalty=10000, men også \emergencystretch=1em. Resultatet er ikke bra, og \emergencystretch må virkelig bare brukes i nødsfall. Anbefalinger (se l2tabuen): \pretolerance=1414 \tolerance=1414 \hbadness=1414 \hfuzz=0.3pt \widowpenalty=10000 \vfuzz=\hfuzz \raggedbottom (men helst ikke?) Hvis du fortsatt får under- og overfulle bokser, så undersøk saken! Skriv heller om teksten for å få bort problemet. (Kanskje TEX bare trenger hjelp til å dele et langt ord?) Ikke bruk \emergencystretch globalt. I ytterste nødsfall, avslutt et avsnitt med {\emergencystretch 1\par}. LATEX vk 2005 05 18 8

Linjeombrekking: Hjelp til orddeling Du kan eksplisitt deklarere, en gang for alle, hvordan et gitt ord skal deles: \hyphenation{saue-øye-eier over-retts-sak-fører} Med \usepackage[norsk]{babel} kan du også angi skillet mellom delene i et sammensatt ord i teksten slik: over"-buljong"-terning"-pakk"-mester"-assistent. Fordelen er at TEX også kan dele dette som overbul-jongterningpakkmesterassistent dersom det ellers er tillatt etter orddelingsmønsteret som er i bruk. (Standardmekanismen \- undertrykker orddeling andre steder i ordet.) Norsk babel har flere triks i ermet: o"ppasser blir til oppasser eller opp-passer. (Fungerer for andre konsonanter og.) hoff" intriger kan deles til hoff-intriger, men blir ellers til hoffintriger (sammenlign med hoffintriger.) Du kan skrive tabloid"=journalistikk for å få tabloid-journalistikk, alltid med bindestrek, men tillate ordeling andre steder i tillegg. Og i"~går blir til igår, eller kan deles uten bindestrek etter i-en. Du kan bruke "< og "> i stedet for «og» i tilfelle du ikke finner de sistnevnte på tastaturet. LATEX vk 2005 05 18 9

Feilsøking L A TEX er implementert som makroer i TEX: Dette kompliserer feilsøkingen fordi L A TEX holder et mye høyere abstraksjonsnivå enn TEX. \errorcontextlines=99 gir deg mer kontekst. Det kan være mange makroer inni hverandre som er i ferd med å ekspanderes, og de vil nå alle vises, med inputlinjen som ga feilen nederst. Ser du for langt opp i listen roter du deg inn i L A TEXs interne rutiner, men de nederste to-tre nivåene kan ofte gi en pekepinn om hvor feilen ligger. Søk etter manglende krøllparenteser og andre syntaktiske feil i nærheten av der feilen skjedde. Når alt annet feiler: Binærsøk! \iffalse suspekt kode \fi Så snart du har isolert feilen, snevre inn søket ved å halvere søkeområdet. Merk! Du må passe på environments! Matchende \begin/\end-par på begge innenfor, eller begge utenfor \iffalse...\fi. LATEX vk 2005 05 18 10

Fotnoteproblematikk Husk: \footnote{tekst} er essensielt det samme som \footnotemark etterfulgt av \footnotetext{tekst}. \footnotemark oppdaterer fotnotetelleren og lager et merke i teksten, mens \footnotetext legger tekst til listen over fotnoter som skal inn på siden. På grunn av TEXs asynkrone natur må de to operasjonene ofte skilles, for eksempel om fotnotemerket skal inn i en boks av noe slag. Verre er det om fotnoten skal inn i en float, for eksempel i en tabell. Det er utenfor L A TEXs rekkevidde å lage et fotnotemerke i en float og få fotnoten på samme side. Løsning: \begin{table} \begin{minipage}{\textwidth}... \footnote{en fotnote}...... \footnote{en fotnote til}... \end{minipage} \caption{tabell med fotnoter i.} \end{table} LATEX vk 2005 05 18 11

Numerologi... eller hvordan håndtere tellere. Grunnleggende teori: Nummererte objekter har tellere med samme navn som objektet selv: chapter, section, figure, equation og så videre. Til hver teller er assosiert en kommando \theteller som skriver ut den nåværende verdien av telleren. Det er ikke noe i veien for at kommandoen bruker andre tellere. For eksempel, om du vil at figurene i kapittel 3 skal være nummerert 3.1, 3.2, 3.3 og så videre: \renewcommand{\thefigure}{\thechapter.\arabic{figure}} Men dette er ikke nok: Vi trenger også sikre oss at figure-telleren settes tilbake til null hver gang vi starter et nytt kapittel, altså når chapter-telleren økes. Forfatteren av dokumentklassen vi bruker kunne ha ordnet dette med \newcounter{figure}[chapter], men om det ikke er gjort kan vi ordne det selv: \@addtoreset{figure}{chapter} (Pass på @-tegnet!) Dersom du laster pakken remreset kan du gjøre det motsatte: Altså \@removefromreset{figure}{chapter}, i tilfelle forfatteren av dokumentklassen har ordnet en automatisk nullstilling av tellere som du ikke ønsker. LATEX vk 2005 05 18 12

Numerologi Av og til ønsker man at delfigurer skal være nummerert som figur 2a, 2b, 2c etc. Til slikt finnes et par løsninger: Enklest er \usepackage{subfloat}, med miljøer subfigures og subfloats. Alternativt \subfiguresbegin... \subfiguresend, som ikke trenger nøstes rett i forhold til andre miljøer! (Også \subtablesbegin... \subtablesend.) Et annet alternativ er \usepackage{subfig}, som forvirrende nok definerer en kommando \subfloat. Denne tar seg av ikke bare nummereringen, men også plassering og til og med variasjoner over figurtekstene (fordi den også importerer caption-pakken). Jeg har ikke testet den. Se L A TEX Companion. LATEX vk 2005 05 18 13

Matematikk \usepackage{amsmath} er (bør være) obligatorisk for alle som skriver noe matematisk. Dokumentasjon: Les amsldoc (texdoc amsldoc). Unngå eqnarray; bruk align i stedet. Eller gather for å samle ligninger uten innbyrdes justering. x = a + b y = a b z = ξ + η +ζ ω \begin{eqnarray*} x&=&a+b\\ y&=&a-b\\ z&=&\xi+\eta\\ &&+\zeta-\omega \end{eqnarray*} x = a + b y = a b z = ξ + η + ζ ω \begin{align*} x&=a+b\\ y&=a-b\\ z&=\xi+\eta\\ &\quad+\zeta-\omega \end{align*} f (x) = f (0) + f (0)x + 1 2 f (0)x 2 + 1 6 f (0)x 3 + + 1 n! f (n) (ξ)x n \begin{multline*} f(x)=f(0)+f (0)x+\frac{1}{2}f (0)x^2\\ +\frac{1}{6}f (0)x^3 +\dotsb+\frac{1}{n!}f^{(n)}(\xi)x^n \end{multline*} LATEX vk 2005 05 18 14

Matematikk Med amsmath kan du lage egne operatorer: Etter \DeclareMathOperator{\sgn}{sgn} kan du skrive $\sgn\sigma$ og få sgn σ heller enn å skrive $sgn \sigma$ og få sg nσ. I et display kan du bruke \quad til å skille sidestilte deler, \qquad til å skille en formel fra en betingelse, og \text{...} for å putte inn tekst: \[ x_{n+1}=x_n+y_n,\quad y_{n+1}=x_n,\qquad\text{for } n=1,2,\dotsc \] gir x n+1 = x n + y n, y n+1 = x n, for n = 1,2,... LATEX vk 2005 05 18 15

Matematikk Kjekt å vite: TEX opererer med åtte forskjellige typer såkalte atomer i matematikk Ordinary (a, b, α etc), (stor) Operator (, etc), Binary operation (+,, etc), Relation (=,, etc), Open (venstreparenteser), Close (høyreparenteser), Punctuation (komma, semikolon), Inner. Enhver del av en formel kan gjøres til en Ord ved å inneslutte den i {...}. Det finnes også kommandoer \mathbin, \mathrel, \mathopen, \mathclose, \mathpunct, \mathinner som tvinger det påfølgende atom inn i en annen klasse. Mellomrommene varier mellom disse forskjellige typene. Sammenlign for eksempel: a = b ($a=b$) med a=b ($a{=}b$). (Og sammenlign siste linje i eqnarray* og align* på forrige side.) Desimalkomma? Sammenlign 3, 14 ($3,14$) og 3,14 ($3{,}14$). Enklere håndtering av desimalkomma: \usepackage{icomma}. Nå blir komma et Ordinært atom i matematikkmodus, hvis du ikke skriver et mellomrom bak. LATEX vk 2005 05 18 16

pdfl A TEX Standard TEX/L A TEX: fil.tex fil.dvi fil.ps fil.pdf ved hjelp av dvips, ps2pdf el.l. Alternativt, direkte fra dvi til pdf med dvipdf. Med pdftex/pdfl A TEX: fil.tex fil.pdf i én operasjon! PDF blir mer og mer det universelle språket for sidebeskrivelse. PostScript er primært for skrivere. Trykkerier vil ha PDF, ikke PS. Men pass på fontene dine. TEX i seg selv trenger bare kjenne fontmetrikken, beskrevet i *.tfm (og *.vf). Tradisjonelle TEX-system bruker bitmappede fonter (*pk). Men nå finnes de fleste fonter også som PostScript Type 1 (*.pfb), eventuelt som TrueType (*.ttf). Bitmappede fonter blir uleselig på skjerm. Sørg for at du har fontene tilgjengelig på vektorformat. Moderne TEX-systemer har nå de klassiske CM-fontene som Type 1. EC-fontene (\usepackage[t1]{fontenc}) finnes som Type 1, i den meget omfattende cm-super. Men Latin Modern (\usepackage{lmodern}) er å foretrekke. Dette foredraget bruker Utopia og Fourier (\usepackage{fourierx}). LATEX vk 2005 05 18 17

Typesnitt og fonter Lavnivå: En font spesifiseres av følgende attributter: Koding: OT1 (gammel 7-bits), T1 (moderne 8-bits) Lavnivå: \fontencoding{koding} Fontfamilie: cmr, cmss, cmtt, andre Lavnivå: \fontfamily{familie} Serie (vekt og bredde i ett): m (medium), bx (bold extended) Lavnivå: \fontseries{serie} Fasong: n (normal), it (kursiv) Lavnivå: \fontshape{fasong} Størrelse: Designstørrelse Lavnivå: \fontsize{fontstørrelse}{baselineskip} Merk at å endre ett attributt ikke velger ny font: Velg alle attributter du vil endre, følg på med \selectfont. Hendig kortform for å sette de første fire attributtene: \usefont{koding}{familie}{serie}{fasong} denne gjør \selectfont av seg selv etterpå, så du slipper. Kjør eventuelt \fontsize først. Hendige verdier å bruke: \encodingdefault, \familydefault, \seriesdefault, \shapedefault. Se også \DeclareFixedFont. LATEX vk 2005 05 18 18

Typesnitt og fonter Høynivå: Høynivåkommandoene endrer ett eller flere attributter og gjør \selectfont, så du slipper. Det finnes ingen høynivåkommando for å endre fontkoding. Familie: \textrm{...} eller {\rmfamily...} \textsf{...} eller {\sffamily...} \texttt{...} eller {\ttfamily...} Serie: \textmd{...} eller {\mdseries...} \textbf{...} eller {\bfseries...} Fasong: \textup{...} eller {\upshape...} \textit{...} eller {\itshape...} \textsl{...} eller {\slshape...} \textsc{...} eller {\scshape...} \emph{...} pleier bety \textit eller \textup avhengig av omgivelsene. Størrelse: \tiny, \scriptsize, \footnotesize, \small, \normalsize, \large, \Large, \LARGE, \huge, \Huge. Hva størrelser og familier her betyr i praksis, avhenger av klassefiler og pakker. LATEX vk 2005 05 18 19

Noen populære fontvalg Times: \usepackage{mathptmx} \usepackage[scaled=.90]{helvet} \usepackage{courier} Palatino: \usepackage{mathpazo} \usepackage[scaled=.95]{helvet} \usepackage{courier} Fourier og Utopia: \usepackage{fourierx} Kan kreve litt hjemmearbeid: Hente fourier-pakken fra CTAN, og forbedringer til denne (inklusive fourierx.sty) fra http://home2.vr-web.de/~was/putx.html. Latin Modern: \usepackage{lmodern} Anbefales som standardvalg fremfor CM- eller EC-fontene. LATEX vk 2005 05 18 20

Men hva med grafikken? L A TEX sammen med dvips: Kun EPS. pdfl A TEX: JPEG, PNG, PDF. Konverter EPS til PDF med epstopdf (på unix). Pakkene epsfig, psfig, etc. er utdaterte. Bruk i stedet: \usepackage{graphicx} \includegraphics[opsjoner]{filnavn} Ikke ta med endelse på filnavnet. Vanlig L A TEX vil forsøke med endelser.eps og.ps. PdfL A TEX forsøker.png,.pdf,.jpg. Slik kan samme inputfil virke like bra med pdfl A TEX og vanlig L A TEX. \includegraphics[width=0.4\textwidth]{filnavn} gir en figur som er 40% av sidebredden. \includegraphics[height=50mm]{filnavn} gir en figur så høy som lengden av en fyrstikkeske. \includegraphics har mange andre opsjoner. Se grfguide (texdoc grfguide) for detaljene. LATEX vk 2005 05 18 21

Floats Figurer og tabeller (figure og table-miljøene) kalles floats fordi de flyter dit det passer L A TEX å plassere dem. Dette er veldig nyttig, men forårsaker også mye hodebry! Men først litt om innholdet i en float: Å typesette tekst inne i en float er ikke noe annerledes enn å typesette tekst alle mulige andre steder: TEX starter opp i vertikal modus, med en tom liste til å putte ting i, og en tekstbredde lik den i omgivelsene. For eksempel: \begin{figure} \centering \includegraphics[width=0.7\textwidth]{bilde} \smallskip \caption{dette er et vakkert bilde.} \end{figure} Eneste forskjell på figure og table er hva \caption-kommandoen gjør inne i den: Den bruker enten figure- eller table-telleren, og starter teksten med «Figur x» eller «Tabell y». Og mens jeg husker det: Du kan bruke \caption flere ganger inne i samme float. Men en figur og en tabell i samme float går dessverre ikke. LATEX vk 2005 05 18 22

Figurer side om side Figur 1: En humle. Figur 2: En gåseflokk. \begin{figure}[ht] \makebox[\textwidth][s]{\hfil \parbox[t]{0.3\textwidth}{\centering\includegraphics[width=\hsize]{humle} \caption{en humle.}}\hfil \parbox[t]{0.45\textwidth}{\centering\includegraphics[width=\hsize]{gjess} \caption{en gåseflokk.}}\hfil} \end{figure} (Bruk \centering og ikke center-miljøet. Det sistnevnte legger til vertikale mellomrom.) LATEX vk 2005 05 18 23

Tabeller Hvordan sentrere på desimaltegn. 1/2 1,5 π 3,14159 10e 27,1828 \usepackage{dcolumn}... \begin{tabular}{cd{.}{,}{5}} $1/2$ & 1.5 \\ $\pi$ & 3.14159 \\ $10e$ & 27.1828 \end{tabular} LATEX vk 2005 05 18 24

Tabeller Vi kan også snu tabeller sidelengs! 1/2 1,5 π 3,14159 10e 27,1828 \usepackage{rotating}... \begin{sideways} \begin{tabular}{cd{.}{,}{5}} $1/2$ & 1.5 \\ $\pi$ & 3.14159 \\ $10e$ & 27.1828 \end{tabular} \end{sideways} Pakken rotating inneholder også miljøer sidewaystable og sidewaysfigure. (Jeg fikk problemer i mine forsøk med sidewaystable, har ikke rukket å undersøke nærmere.) LATEX vk 2005 05 18 25

Plassering av floats \begin{figure}[hptb] (standard er [ptb]) [h] Er det plass her? Hvis ja, sett den her, ellers må den flyte. [t] Figuren kan flyte til toppen av en side. [b] Figuren kan flyte til bunnen av en side. [p] Figuren kan flyte til en side som er reservert for floats. Hvis L A TEX ikke klarer å plassere en figur, flyter den til slutten av dokumentet. Kanskje får du også den fryktede feilmeldingen Too many unprocessed floats. LATEX vk 2005 05 18 26

Plassering av floats L A TEX har tre tellere (settes med \setcounter) som styrer figurplasseringen: topnumber (standard: 2) Maksimalt antall figurer øverst på en tekstside. bottomnumber (standard: 1) totalnumber (standard: 1) Maksimalt antall figurer nederst på en tekstside. Maksimalt antall figurer på en tekstside. L A TEX har fire kommandoer (settes med \renewcommand) som styrer figurplasseringen: \topfraction (standard: 0.7) Maksimal andel av en tekstside anvendelig til figurer øverst. \bottomfraction (standard: 0.3) Maksimal andel av en tekstside anvendelig til figurer nederst. \textfraction (standard: 0.2) Minimal andel av en tekstside som må være tekst. \floatpagefraction (standard: 0.5) Minimal fyllingsgrad for en dedikert float-side. LATEX vk 2005 05 18 27

Flere dokumenter til ett Problem: Fire artikler og to rapporter pluss en innledning skal bli en doktorgrad. Løsning: Flere muligheter. Kombiner pdf-filer med pdfl A TEX: Bruk pakken pdfpages for å importere enkeltsider eller hele pdf-dokumenter. (texdoc pdfpages for en svært detaljert forklaring.) Det kan være en fordel å gi enkeltdokumentene en mest mulig lik layout først. Kombiner L A TEX-kilder: \documentclass[...]{combine} Her må alle dokumentene være tilstrekkelig like til at det går greit å samle alle spesielle kommandoer og environments ett sted. Jeg har ikke prøvd combine.cls, og den er ikke med i standard-distribusjonen. Finn den på CTAN, med eventuell dokumentasjon. LATEX vk 2005 05 18 28

Flere dokumenter til ett Kombiner pdf-filer med plain pdftex: \input pdf-1up \includepdf{fil-1} \includepdf{fil-2}... \bye hvor pdf-1up.tex er filen \pdfhorigin=0pt \pdfvorigin=0pt \countdef \fileno=1 \def\includepdf#1{ \pageno 0 \advance \fileno 1 \loop \advance\pageno 1 \setbox0\vbox{\pdfximage page \pageno{#1.pdf}\pdfrefximage\pdflastximage} \shipout\box0 \ifnum\pageno<\pdflastximagepages \repeat} LATEX vk 2005 05 18 29

Register Et register er lett å lage: Om vil at ordet underrom skal forekomme i indeksen, med en henvisning til denne siden, skriver du bare inn \index{underrom} i teksten. I tillegg skal du med ordet \makeindex i preamble. Nå vil L A TEX bygge en fil filnavn.idx hvor alle indeks-innslagene står i den rekkefølgen de er i dokumentet. Så kjører du makeindex filnavn, og du har nå en alfabetisk sorter fil filnavn.ind. Endelig tar du med \input{\jobname.ind} i slutten av dokumentet, der registeret skal være. Du kan gjøre mye mer ut av dette. Programmet makeindex er vel dokumentert. LATEX vk 2005 05 18 30

Modifikasjon av klasser Sammendrag: Ikke gjør det. Dum idé: Kopier for eksempel article.cls og rediger den. Lur idé: Skriv din egen klassefil som laster inn article.cls og endrer utvalgte definisjoner i den. %% Dette er artikkel.cls \ProvidesClass{artikkel}[2005/05/18 Klassefil for mine artikler.] \DeclareOption{lur}{... gjør noe lurt...} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \PassOptionsToClass{twoside}{article} \ProcessOptions \LoadClass{article} \RequirePackage{amsmath} \RequirePackage{graphicx} Etter dette følger du på med dine egne redefinisjoner av ting du ikke liker i article.cls. Det er greit å klippe og lime fra originalen for å modifisere dem, men bare i begrenset omfang, ellers er risikoen for fremtidig inkompatibilitet for stor. LATEX vk 2005 05 18 31

Modifikasjon av pakker Sammendrag: Ikke gjør det. Dum idé: Kopier for eksempel icomma.sty og rediger den. Lur idé: Skriv din egen pakkefil som laster inn icomma.sty og endrer utvalgte definisjoner i den. %% Dette er ikomma.sty \ProvidesClass{ikomma}[2005/05/18 Lurere enn icomma.] \DeclareOption{lur}{... gjør noe lurt...} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{article}} \ProcessOptions \RequirePackage{icomma} Etter dette følger du på med dine egne redefinisjoner av ting du ikke liker i icomma.sty. (Dette er et litt dårlig eksempel, for icomma.sty er så kort at det knapt er noe å modifisere.) LATEX vk 2005 05 18 32

Informasjonskilder Bøker: L. Lamport: L A T E X A document preparation system F. Mittelbach, M. Goossens et.al.: The L A T E X companion, second edition D. E. Knuth: The T E Xbook V. Eijkhout: T E X by Topic http://www.eijkhout.net/tbt/ (De to sistnevnte mest for de som virkelig vil gå dypt inn i materien.) I tillegg følger mye dokumentasjon med tetex (unix) og MixTEX (windows), leses med texdoc hvis du vet filnavnet på dokumentasjonsfilen. Spesielt: l2tabuen, grfguide, amsldoc. Mange pakker har (heldigvis) dokumentasjon med samme navn som pakken. Dokumentasjonen for babel, derimot, heter user! På web: TEX User group (TUG): http://www.tug.org/ Comprehensive TEX Archive Network (CTAN): http://ctan.unik.no/ Frequently Asked Questions (FAQ): http://www.tex.ac.uk/cgi-bin/texfaq2html?introduction=yes Og ikke glem: For nesten ethvert problem er det laget en pakke. LATEX vk 2005 05 18 33