Introduktion till L A TEX för ingenjörer

Relevanta dokument
L A T E X. Eric Elfving Institutionen för datavetenskap (IDA) 4 september 2015

LaTeX. Grunderna till dokumentsystemet LaTeX. Eric Elfving Institutionen för Datavetenskap (IDA)

Dr. Johan Hagelbäck.

Mall (från L A TEX 1)

Laborationer i kursmomentet Datoranvändning E1. Laboration nr 5: Mer om FrameMaker

Word-guide Introduktion

Dokumentation av rapportmall

TEX och L A TEX i desktop publishing

Referenser med SLUs Harvardsystem i Sharelatex - användning av Zotero och Biblatex

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

MINIMIKRAV VID RAPPORTSKRIVNING

LAT E X. Fredrik Nordin November 2, Ludd. Fredrik Nordin LAT E X Ludd 1/29

Laboration 10: LaTeX. Redovisning. Omgivningen document. Början. Instruktionerna nedan. Repetitionsuppgifter

Skapa en rapport med snygg formatering, rubriker, sidnummer och innehållsförteckning

TSKS06 - Rapportskrivning

APA för nybörjare. Innan du börjar. Översikt

Referenshantering med Zotero 1

Instruktioner för rapportmallen

Referenshantering med Zotero Introduktion

TSKS06 - Rapportskrivning

Migrera till Word 2010

Formatmall för uppsatser vid Historiska institutionen Användarinstruktioner

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel:

KARLSTADS UNIVERSITETSBIBLIOTEK

Introduktion till L A TEX

Karlstads universitetsbibliotek

PIM Skriva

Skapa en rapport med snygg formatering, rubriker, sidnummer och innehållsförteckning

Information efter genomgång av Microsoft Excel 2010

1

Lathund för avhandlingsmallen i serien Linnaeus University Dissertations

Ordbehandling. Föreläsning 4 L A TEX. Layout av text. Förberedelse inför laboration 3.

Uppgift 1 Denna uppgift består av två steg där du i första steget ska skapa formatmallar som sedan används i steg två för att skapa ett dokument.

Mälardalens högskola

Dags att skriva uppsats?

Microsoft Office Excel, Grundkurs 1. Introduktion

En introduktion till L A TEX

Datorövning 1 Calc i OpenOffice 1

Inledning till OpenOffice Calculator Datorlära 2 FK2005

Version X6 Fler tips

Användarmanual för Hemsida

Öppna EndNote varje gång när du vill samla referenser till ditt bibliotek.

Linköpings Universtitet. Ett projekt om LA TE X

Dokumentmall i Word för uppsatser i franska och italienska

3. Hämta och infoga bilder

Ekvationer. a 2 + b 2 = c 2 (1) a n + b n = c n

Introduktion till Word och Excel

Skapa en mall för inlämning av skriftliga uppgifter. med hjälp av Open Office Writer

Manual för Typo3 version 4.2

REDIGERA BILDER OCH TEXT PÅ DIN WORDPRESS-HEMSIDA

Manual. Anpassad för CMS Made Simple version 1.9.x (uppdaterad ) Birger Eriksson webblots.se

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Excel Övning 1 ELEV: Datorkunskap Sida 1 Niklas Schilke

Programmering i C++ Kompilering från kommandoraden

Extra hjälp till L A TEX-uppgift 2

Anna Jonströmer. Bloggning

Botten för svenskspråkigt kandidatarbete

Sö ka artiklar öch annan litteratur

Här nedan finns förslag på två olika sätt hur tryckta och otryckta källor kan anges i löptexten.

IMPORTERA POSTER TILL DIVA Anvisning för export av poster från andra databassystem för import till DiVA

SLUNIK manual. SLUNIK version

Kom igång-guide: Spara tusenlappar med Libreoffice - IDG.se

Nyheter i PowerPoint 2010

Ordbehandling. Föreläsning 4 L A TEX. Layout av text. Förberedelse inför laboration 3.

Dokumentskrivning i L A TEX - En introduktion. 8 februari 2018

Föreläsning 3: Formalia: Hur skall uppsatsen se ut

Daniel Clarhed

Ikon Menyalternativ Funktion och beskrivning Sök och ersätt text i arbetsfältet. Ramformatering

Syfte Syftet med den här laborationen är att du ska lära dig använda några grundfunktioner i Microsoft Excel.

Formatering av rapport för examensarbete vid Akademin för teknik och miljö. Ver

Snabbstartsguide. Verktygsfältet Snabbåtkomst Kommandona här är alltid synliga. Högerklicka på ett kommando om du vill lägga till det här.

12 steg för att göra en bok med Word

Hur du gör ditt Gilles hemsida - en liten hjälp på vägen

Manual

Excel-guide. Introduktion

Skapa innehållsförteckning i WORD. IT-avdelningen

Att använda Energiforsks rapportmall

Skapa en mall för inlämning av skriftliga uppgifter med hjälp av Microsoft Office Word

So ka artiklar och annan litteratur

Personalsupport. Medicinska fakulteten, Lunds universitet. Textredigeraren. Moodle version 2.7.1

Introduktion till L A TEX

Programsnickaren. Grunderna för hur du kommer igång och arbetar med Programsnickaren till Micro Rolltalk. Habilitering & Hjälpmedel

Kalkylprogram. I övrigt kan man också söka på Google eller YouTube för att få mer information.

SENIORER SENIORER. Grundläggande IT för. Windows 7. Grundläggande IT för. Windows 7. Eva Ansell Marianne Ahlgren. Eva Ansell Marianne Ahlgren

Både förslag till manuskript och färdiga manuskript ska skickas till redaktionen som elektronisk post. E-postadressen är:

Arbeta med Selected Works en lathund

Microsoft PowerPoint

Snabbstartsguide. Visa eller växla mellan onlinekonton Klicka på ditt konto-id för att ändra inställningar eller växla mellan konton.

Dokumentskrivning i L A TEX - En introduktion. Henrik Henriksson 27 mars 2018

Instruktioner till övningen som börjar på nästa sida

Guide. Webbsidor i Studentportalen. Innehåll. Uppdaterad:

Det som måste göras är följande

Statistiska centralbyrån. Statistikatlasen

Bilaga 2. Layoutstöd för examensarbeten och uppsatser

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

Laboration Word. För att dubbelkolla att du fått med allt, använd checklistan som finns på kurshemsidan.

Word Online Version 1.0 Skolkontoret

Publicera taltidningen

I den tidigare filen Manual Editor belystes grunderna för enkel uppdatering samt editorns utformning.

Mer information om RefWorks, andra referenshanteringsprogram och hur man refererar hittar du på Linköpings universitetsbiblioteks webbsidor.

Transkript:

\begin{center} Introduktion till\\ \LaTeX{} för ingenjörer\\ \theauthor\\ \today \end{center} Introduktion till L A TEX för ingenjörer Örjan Ekeberg 11 januari 2019

Innehåll 1 Vad är L A TEX? 1 1.1 Arbetsgång.............................. 1 2 L A TEX-filens struktur 4 2.1 Löpande text............................. 4 2.2 Kommandon............................. 4 2.3 Omgivningar............................. 5 2.4 Dokumentets delar.......................... 6 3 Punktlistor och tabeller 7 4 Matematiska formler 8 5 Figurer 10 5.1 Skapa eller ladda bilder....................... 10 5.2 Placering och figurtext........................ 12 6 Korsreferenser 13 7 Litteraturreferenser 14 7.1 Användning av BibLatex....................... 14 7.2 Litteraturdatabasen......................... 16 8 Hitta mer information 17 i

1 Vad är L A TEX? L A TEX är ett system för att framställa olika typer av skrifter, som rapporter, brev, artiklar, protokoll och hela böcker. L A TEX har utvecklats för att ge dokumenten en hög typografisk kvalitet och är speciellt lämpat för teknisk och vetenskaplig text som ofta innehåller matematiska formler och annat som kan vara svårt att få snyggt i vanliga ordbehandlare. L A TEX är inte ett enskilt program utan snarare en standard för hur man beskriver både innehåll och utseende i form av en textfil. Det finns flera alternativa program och tillägg som kan användas, dels för att skriva själva texten, men även för att tillverka det slutliga dokumentet utifrån beskrivningen. Syftet med denna text är inte att ersätta den dokumentation som finns för L A TEX och alla dess tilläggspaket. Problemet för en nybörjare är inte att det saknas dokumentation utan att det finns så mycket att läsa att det är svårt att veta var man ska börja. Ytterligare ett problem är att många av de introduktionstexter till L A TEX som cirkulerar på nätet är gamla och rekommenderar program och paket som sedan länge har ersatts med bättre alternativ. Syftet här är därför dels att förklara grunderna men samtidigt att presentera ett arbetssätt som bygger på en modern L A TEX-installation. När du väl kommit igång är det lättare att hitta rätt i dokumentationen och att söka efter tips och råd i de forum och användargrupper som finns på nätet. I grunden är L A TEX ett s.k. mark-up språk vilket innebär att man skriver merparten av sitt dokument som vanlig löpande text, men fogar in små markörer för att ange vilken roll de olika delarna av texten har, t.ex. vad som är rubrik eller att en viss text är ett citat. Detta är dock en stark förenkling och för den som behöver finns näst intill obegränsade möjligheter att själv definiera nya funktioner som man kan behöva. L A TEX är en påbyggnad på TEX som är ett slags programmeringsspråk för typsättning. Genom att L A TEX under decennier har använts av många personer som tycker att programmering är kul och gärna delar med sig av sina skapelser så finns det numera ett enormt utbud av färdiga och fritt tillgängliga paket som kan användas för att åstadkomma det mesta, som att typsätta algoritmer, musik (noter), kalendrar, diagram eller släktträd, för att bara nämna några exempel. Om man är van vid enklare ordbehandlare, t.ex. MSWord eller LibreOffice, så har man ofta ovanan att pilla med typografiska detaljer som typsnitt, stilstorlek, radavstånd och rubrikstorlekar samtidigt som man författar sitt dokument. Det går naturligtvis att styra alla dessa saker och mycket mer även i L A TEX, men systemet är byggt för att man ska slippa bekymra sig om typografin, och istället helt koncentrera sig på innehållet. De markörer (eller kommandon ) man skriver i texten markerar därför i första hand vilken funktion de olika delarna har, snarare än hur de ska se ut. 1.1 Arbetsgång Användning av L A TEX går till så att man skriver en textfil som sedan framkallas till det färdiga typsatta dokumentet. Figur 1 visar denna arbetsgång schematiskt. Man använder valfri texteditor för att skapa och redigera L A TEXfilen. Detta är den fil som innehåller all text tillsammans med de markeringar (kommandon) som behövs. När det är dags titta på eller skriva ut resultatet låter man programmet xelatex behandla ( framkalla ) L A TEX-filen. Resultatet 1

PDF-visare Text-editor L A TEX-fil xelatex PDF-fil Skrivare Figur 1: Schematiskt diagram över arbetsgången när man använder L A TEX. Figur 2: Här ser vi ett exempel på traditionell användning av L A TEX. Uppe till vänster finns ett terminalfönster där vi ger kommandon, t.ex. för att köra programmet xelatex. Högra halvan av skärmen upptas av texteditorn emacs där vi redigerar själva L A TEX-filen. Nere till vänster ser vi en PDF-visare (Evince) som visar dokumentets färdiga utseende. blir då en PDF-fil som man kan titta på på skärmen med någon PDF-visare eller skicka direkt till en skrivare. Det finns flera alternativ till programmet xelatex. Det äldsta heter helt enkelt latex, men detta program kan inte direkt skapa någon PDF-fil och fungerar inte bra tillsammans med många nya tilläggspaket. Programmet pdflatex är något nyare och är mycket använt. De två programmen xelatex och lualatex är nyskrivna implementationer av L A TEX, och de har bl.a. mycket bättre stöd för texter skrivna på svenska. Vi rekommenderar att du använder något av dessa två. I figur 2 ser vi hur det kan se ut på skärmen när man arbetar med L A TEX. Här används texteditorn emacs som har bra stöd för L A TEX. Som PDF-visare används Evince som kör i ett separat fönster. När man gjort ändringar i L A TEX-filen och vill se hur det ser ut på papper så kör man programmet xelatex manuellt i terminalfönstret. Evince kommer då automatiskt att uppdatera utseendet när 2

Figur 3: Programmet TEX-Studio är en integrerad grafisk miljö för L A TEX. Till vänster finns texteditorn där vi redigerar själva L A TEX-filen. Till höger visas det färdiga dokumentet efter att xelatex framkallat det. den märker att PDF-filen har ändras. Det kan verka onödigt krångligt att behöva använda separata program för redigeringen och för framställningen av det slutliga dokumentet, men det finns även flera fördelar, särskilt när man arbetar i lite större skala. Genom att L A TEXfilen är en ren textfil så kan man direkt utnyttja alla de verktyg som finns för att manipulera och administrera textfiler. Ett intressant exempel är distribuerad versionshantering; en teknik som utvecklats för att kunna administrera när många programmerare hjälps åt för att utveckla ett program. System som GIT eller SubVersion som ursprungligen var tänkta för programkällkod fungerar lika bra för att koordinera ändringarna i L A TEX-filer. Dessa system gör det smidigt att koordinera när flera personer tillsammans författar ett stort dokument. På köpet får man en logg över arbetet och kan enkelt vid behov gå tillbaka till äldre versioner eller se vem som ändrat vad. Priset man får betala för denna flexibilitet är att man inte arbetar direkt i det slutliga, typsatta, dokumentet. Många ser dock detta som en fördel eftersom det gör det lättare att fokusera på själva textinnehållet, utan att ständigt distraheras av detaljer som bara har med utseendet att göra. Ett alternativ till att använda oberoende program för de olika stegen är att utnyttja en s.k. integrerad utvecklingsmiljö. En av de bättre för L A TEX heter TEX-Studio och finns gratis till de flesta operativsystem. Figur 3 visar hur det kan se ut när man arbetar i TEX-Studio. Även här skriver man sitt dokument genom att redigera L A TEX-filen, men det finns menyer och kortkommandon för att underlätta arbetet. Om du börjar använda TEX-Studio är det lämpligt att ändra några inställningar. Framför allt bör du sätta Default Compiler till xelatex och Default Bibliography Tool till biber. 3

2 L A TEX-filens struktur Låt oss börja med ett enkelt exempel. Vi behöver en textfil som ska innehålla den text som ingår i dokumentet, men även de markörer som behövs för att L A TEX ska veta hur det hela ska formateras. Av konvention låter man filen ha filtypen.tex ; vi kan förslagsvis kalla filen minrapport.tex. L A TEX har stöd för många olika typer av dokument, något som kallas dokumentklasser. Den mest grundläggande dokumentklassen heter article och passar för de flesta kortare texter (mindre uppsatser, labbrapporter m.m.). Andra vanliga dokumentklasser är report (kapitelindelade rapporter), book (böcker), beamer (presentationer), letter (brev) och memoir (individuellt anpassade rapporter). I avsnitt 2.4 sätter vi samman de delar som behövs för ett minimalt dokument av typen article. Först ska vi dock introducera några centrala begrepp och principer. 2.1 Löpande text Huvudelen av L A TEX-filen består av vanlig löpande text. Löpande text skrivs utan att man behöver några speciella markörer överhuvudtaget. Det spelar ingen roll när man byter rad; L A TEX ser ändå till att fylla ut raderna och även att avstava ord ifall det behövs. För att skilja stycken från varandra lägger man in en extra tom rad. Detta innebär inte att det blir en tom rad mellan styckena i det färdiga typsatta dokumentet. I professionellt typsatt text markeras stycken genom indrag av styckets första rad, och L A TEX följer denna konvention. Lägg märke till att man alltså inte kan använda en eller flera tomma rader i L A TEX-filen för att få ett vertikalt tomrum i det färdiga dokumentet. Om man av någon anledning vill ha ett extra tomrum så måste det markeras med kommandon speciellt avsedda för detta. 2.2 Kommandon För att inte blandas ihop med den löpande texten så inleds alla speciella markörer (även kallade kommandon) med tecknet \. Det normala utseendet på en markör är \kommando{parametrar} där kommando är ett ord som talar om vilken markör det är frågan om, och parametrar är någon form av text som påverkar kommandot. 1 Här är några exempel: \title{min Rapport} Sätter dokumentets titel till Min Rapport \emph{viktigt} Skriver ordet viktigt extra synligt (emphasize). 1 När ett kommando saknar parametrar kan man utelämna parenteserna. Detta har dock bieffekten att alla blanktecken och radbyten fram till nästa synliga tecken försvinner, vilket kan leda till en del svårfunna fel. Vi rekommenderar därför att man behåller parenteserna efter kommandon, iallafall i löpande text. 4

\index{quicksort} Lägger in ordet quicksort i sakregistret. Dokument av typen article är normalt indelade i ett antal avsnitt som var och en har en egen rubrik. Detta anges med kommandot \section{rubrik} som placeras före avsnittets första stycke. Om man har behov av underrubriker på delavsnitt så kan man använda \subsection på motsvarande sätt. Det går t.o.m. att använda \subsubsection, men man bör vara försiktig med att ha alltför många rubriknivåer. I större dokument (av typen report eller book) tillkommer kommandot \chapter{rubrik} för att makera början av ett nytt kapitel. Vissa kommandon kan ta extra parametrar som ofta utelämnas, men om de anges ska de skrivas mellan hakparenteser direkt efter kommandots namn: \kommando[extra parametrar]{parametrar} Här är några exempel på detta: \includegraphics{foto.jpg} Sätter in en bild, behåller dess naturliga storlek \includegraphics[width=75mm]{foto.jpg} Sätter in en bild, skalad till 75 mm bredd \documentclass{article} Typsätter dokumentet i standard artikelformat \documentclass[a4paper]{article} Typsätter med artikelformat anpassat för A4-papper. 2.3 Omgivningar Två kommandon har en mycket speciell roll i L A TEX: \begin och \end. De förekommer alltid i par på detta sätt: \begin{omgivning} \end{omgivning} Texten mellan \begin och \end sägs höra till en viss omgivning, och det innebär att den ska tolkas eller behandlas på något speciellt sätt, beroende på vilken omgivning som angivits. Det är möjligt, och inte alls ovanligt, att nästla omgivningar, d.v.s. att en omgivning förekommer lokalt inom en annan omgivning. Här är ett litet exempel: \begin{document} I denna rapport ska v i b e s k r i v a hur man kan räkna ut \ begin{math} \ int f ( x ) dx \end{math} f ö r några v a n l i g a f u n k t i o n e r. \end{ document} 5

Här används omgivningen document som alltid ska finnas med i en L A TEX-fil där den ramar in det egentliga innehållet. Inuti denna omgivning används en annan omgivning, math, för att skriva ett matematiskt uttryck. Mer om matematiska uttryck hittar du i avnitt 4. 2.4 Dokumentets delar Vi är nu redo att sätta samman vårt första kompletta L A TEX-dokument. Dokumentet består huvudsakligen av två delar: 1. Ett huvud där man anger vilken typ av dokument det handlar om samt andra egenskaper som gäller för dokumentet som helhet, t.ex. vilka tilläggspaket man tänker använda. 2. En omgivning document som innefattar allt innehåll. Ett minimalt dokument kan se ut på detta sätt: \documentclass{ a r t i c l e } \begin{document} L i t e t e x t. \end{ document} Värt att lägga märke till här är kommandot \documentclass{article} som anger att dokumentet är av typen article. Faktum är att en L A TEX-fil alltid inleds med kommandot \documentclass; man måste alltid tala om vilken typ av dokument det är frågan om. Om vi nu framkallar detta lilla dokument med programmet xelatex så får vi en.pdf-fil som innehåller en enda sida med texten Lite text. prydligt typsatt. Låt oss nu komplettera detta exempel för att få ett mer användbart skelett att utgå ifrån. \documentclass [ a4 paper ] { a r t i c l e } \ t i t l e {Min f ö r s t a rapport } \author{ Fredrik von Friesenhjelm } \usepackage{ p o l y g l o s s i a } \ setmainlanguage { swedish } \begin{document} \ m a k e t i t l e {} \begin{ a b s t r a c t } Detta är min sammanfattning. \end{ a b s t r a c t } \ section { I n l e d n i n g } 6

Här f ö l j e r r e s t e n av min t e x t. \end{ document} Här har vi lagt till den extra parametern a4paper till \documentclass för att se till att dokumentet anpassas till A4-formatet. Utan denna blir dokumentet anpassat för det amerikanska letter-formatet. Kommandona \title och \author talar om vilken titel dokumentet har respektive vem som står som författare. Dessa uppgifter används när vi längre ned använder \maketitle som skapar ett standardiserat huvud. Raden \usepackage{polyglossia} anger att vi vill använda funktioner från paketet polyglossia. Det finns hundratals användbara paket och just polyglossia används för att anpassa L A TEX till olika språk. 2 Kommandot på raden under (\setmainlanguage{swedish}) talar om för L A TEX att dokumentet är skrivet på svenska. Detta innebär att rubriker, avstavningsregler, m.m. anpassas till svenska. Det går alldeles utmärkt att blanda flera språk i ett och samma dokument, men vi går inte in på detta här. Titta i dokumentationen för paketet polyglossia om du vill veta mer. Mellan \begin{document} och \end{document} finns dokumentets egentliga innehåll. Här har vi använt kommandot \maketitle för att generera ett standardiserat artikelhuvud med titeln, författarens namn och dagens datum. Därefter använder vi omgivningen abstract för att skriva en inledande sammanfattning. Resten av dokumentet består i huvudsak av löpande text, indelat i avsnitt och delavsnitt genom anrop av \section respektive \subsection. Med detta som grund bör du vara redo att börja skriva enkla rapporter. 3 Punktlistor och tabeller Det finns flera omgivningar avsedda för att skapa punktlistor av olika slag. Den enklaste heter itemize och används för att få en lista där varje del inleds med en svart punkt: \begin{itemize} \item{} Knatte \item{} Fnatte \item{} Tjatte \end{itemize} Knatte Fnatte Tjatte Texten för varje punkt behöver inte rymmas på en rad. Det går utmärkt att ha en längre text efter varje \item{}; det går t.o.m. att ha flera stycken. Om vi ersätter itemize med enumerate så blir listan numrerad: \begin{enumerate} \item{} Knatte \item{} Fnatte \item{} Tjatte \end{enumerate} 1. Knatte 2. Fnatte 3. Tjatte Om du vill ha någon annan typ av numrering, t.ex. bokstäver (a, b, ) eller romerska siffror, så rekommenderas paketet enumitem som ger stöd för alla möjliga anpassningar av punktlistorna. 2 Om du använder pdflatex istället för xelatex så måste du byta ut polyglossia mot det mer begränsade paketet babel. 7

När man behöver göra lite mer komplicerade uppställningar så räcker det kanske inte med punktlistor. Man kan då istället göra en tabell, där informationen organiseras i rader och kolumner. Detta åstadkommer man med hjälp av omgivningen tabular. Inuti denna omgivningen används två speciella markörer: & som avskiljare mellan kolumner och \\ som avskiljare mellan rader. Här är ett litet exempel: \begin{tabular}{lcc} Kvinnor & 42 & 135 \\ Män & 39 & 128 \\ Totalt & 41 & 263 \\ \end{tabular} Kvinnor 42 135 Män 39 128 Totalt 41 263 Lägg märke till texten {lcc} direkt efter \begin{tabular}. Detta är en parameter till omgivningen tabular och de tre bokstäverna betyder att tabellen ska ha tre kolumner. Den första ska vara vänsterställd (l=left) och de andra två ska vara centrerade (c=center). För att få högerställd text skriver man naturligtvis bokstaven r (right). Som vanligt finns det näst intill obegränsade möjligheter att styra formateringen av tabeller. Här ska vi bara visa på ett exempel; hur man fogar in linjer mellan rader och kolumner. Linjer mellan kolumner får man genom att skriva tecknet mellan bokstäverna som styr justeringen av kolumnerna. För att få en horizontell linje använder man kommandot \hline. Detta blir förhoppningsvis lite klarare med ett exempel: \begin{tabular}{ l c c } Grupp & Poäng & Summa \\ \hline Kvinnor & 42 & 135 \\ Män & 39 & 128 \\ Totalt & 41 & 263 \\ \hline \end{tabular} Grupp Poäng Summa Kvinnor 42 135 Män 39 128 Totalt 41 263 4 Matematiska formler Matematiska formler följer helt egna typsättningsregler och L A TEX är bokstavligen gjort för att typsätta även de mest komplicerade formlerna snyggt och prydligt. Detta är en av anledningarna varför L A TEX är så populärt bland dem som skriver teknisk och vetenskaplig text. Här kommer vi bara att skrapa lite på ytan till vad som är möjligt att åstadkomma. Det finns huvudsakligen två omgivningar som används för att skriva matematiska uttryck (det vi kallar formler ): math och displaymath. math används för formler som står i löpande text, t.ex om vi vill berätta att E = mc 2, eller om vi vill ange att A är en M N-matris. Lägg märke till att bokstäver som betecknar variabler i formlerna är kursiverade och att avstånden mellan delarna anpassas till de matematiska symbolerna. Omgivningen displaymath används när en formel ska stå på en egen rad; ofta för att den helt enkelt är för stor för att få plats inne i texten. Här är ett exempel på hur resultatet från displaymath kan se ut: 8

x= e x2 dx = π Eftersom det är vanligt med formler i L A TEX-dokument har man infört kortversionerna \( och \) för \begin{math} respektive \end{math}. På motsvarande sätt kan man skriva \[ och \] istället för \begin{displaymath} respektive \end{displaymath}. 3 För enklare formler räcker det att känna till några grundläggande principer. Tecknen { och } fungerar som osynliga parenteser, och används för att gruppera ihop saker som ska placeras ihop. Tecknen _ och ^ används för att ange att det efterföljande tecknet ska placeras nedanför (som index) respektive ovanför (som exponent). Här är ett enkelt exempel: \[ a_i + a_j = x^2 \] a i + a j = x 2 Observera att det bara är tecknet omedelbart efter _ eller ^ som blir index eller exponent. För att inkludera mer än ett tecken måste man därför använda parenteserna { och }: \[ x^{ 1} = \frac{1}{x} \] x 1 = 1 x Här ser vi också kommandot \frac (fraction) som används för bråk. Det är bara ett av väldigt många matematiska kommandon (det finns flera tusen). Det är hopplöst att försöka memorera alla, men det finns många cheat sheets på nätet. Ofta klarar man sig utmärkt genom att söka t.ex. med Google, eller varför inte prova det specialiserade detexify (en webbsida där man kan rita en matematisk symbol och få reda på hur man skriver den i L A TEX). Om man behöver skriva mycket och avancerad matematisk text kan det vara värt att kika på paketet mathtools som är en påbyggnad på ett äldre paket; amsmath. Dessa paket ger t.ex. stöd för att skriva formler som sträcker sig över flera rader. Här är ett exempel 4 på hur man kan se till att en formel i flera delar får likhetstecknen placerade exakt under varandra: 3 I äldre beskrivningar ser man ofta skrivsättet med dollar-tecken ($) istället för \( och \) runt formler och dubbla dollar-tecken ($$) istället för \[ och \]. Detta skrivsätt rekommenderas inte och ställer ibland till det för vissa paket. 4 Om du verkligen vill veta vad dessa ekvationer betyder kan du leta efter Maxwells ekvationer på Wikipedia. 9

\begin{align } \nabla\cdot E &= \frac{\rho}{\epsilon_0} & \nabla\times E &= \frac{\partial B}{\partial t} \\ \nabla\cdot B &= 0 & \nabla\times B &= \mu_0 \left(j+\epsilon_0\frac{\partial E}{\partial t}\right) \end{align } E = ρ E = B ϵ 0 t ( ) E B = 0 B = µ 0 J + ϵ 0 t 5 Figurer I nästan alla dokument vill man ha med någon form av figurer eller illustrationer. Det är två saker som behöver hanteras; dels måste man skapa eller ladda in den aktuella bilden; dels måste man se till att den placeras på en lämplig plats. 5.1 Skapa eller ladda bilder Bilder kan antingen skapas internt av L A TEX eller genom att man laddar in en bildfil som skapats av något annat program. För att ladda bildfiler så använder man kommandot \includegraphics som finns i paketet graphicx (notera den speciella stavningen). \includegraphics kan användas för att ladda in bilder av typerna.jpg,.png och.pdf. För att använda \includegraphics måste vi ladda in paketet graphicx. Det gör vi genom att placera denna rad i L A TEX-filens huvud: \usepackage{ graphicx } Normalt behöver man styra bildens storlek, och det gör men enklast genom att ange en extra parameter på formen width=50mm eller height=10cm. Istället för absoluta mått kan man använda mått knutna till dokumentets storlek. Det mest användbara är då \textwidth som innebär bredden på texten. För att ladda in ett fotografi från filen bild.jpg och skala den till 80 % av textens bredd så skriver vi: \ i n c l u d e g r a p h i c s [ width =0.8\textwidth ] { b i l d. jpg } I tekniska och vetenskapliga dokument är det vanligt att figurerna består av diagram eller grafer av olika slag. Denna typ av figurer kan med fördel genereras internt i L A TEX istället för att skapas i något annat program och sedan laddas in. En fördel med att låta L A TEX själv skapa figuren är att det är lätt att få en konsistent typografi. Det ser helt enkelt inte bra ut om diagrammen använder ett helt annat typsnitt än resten av dokumentet. Det finns många paket för att generera olika typer av figurer, men det kanske mest utvecklade är TikZ. För att plotta olika typer av grafer finns påbyggnaden 10

pgfplots. Paketet TikZ definierar en omgivning tikzpicture där man använder speciella kommandon för att beskriva bilden. Hur detta går till är alltför komplicerat för att beskriva i detalj här så vi får nöja oss med några smakprov. 5 Först ett exempel där vi använder kommandon för att placera ut noder och rita pilar mellan dem. I dokumentets huvud behöver vi nu dessa två rader: \usepackage{ t i k z } \ u s e t i k z l i b r a r y { p o s i t i o n i n g } Den andra raden ger oss tillgång till en utvidgning av paketet Tikz som heter positioning och som låter oss placera ut noderna i diagrammet med ord som right of och below. \begin{tikzpicture} \node (A) [draw] {\(x>0\)}; \node (B) [ circle,draw, right=of A] {Yes}; \node (C) [draw, below=of B] {No}; \draw[ >] (A) to (B); \draw[ >] (A) to (C); \end{tikzpicture} x > 0 Yes No Som du kanske redan gissat är bilden i figur 1 skapad med hjälp av TikZ. Här följer ett exempel på en graf där vi använder paketet pgfplots. Vi börjar med att se till att paketet finns tillgängligt genom denna rad i huvudet: \usepackage{ p g f p l o t s } I detta exempel använder vi en formel för att beskriva kurvan, men det är också möjligt att använda en lista med uppmätta värden. Lägg märke till att vi utnyttjar omgivningen math för texten till axlarna. 30 \begin{tikzpicture} \begin{axis}[ xlabel=\(x\), ylabel={\(f(x) = x^2 x+4\)} ] \addplot {x^2 x +4}; \end{axis} \end{tikzpicture} f(x) = x 2 x + 4 20 10 6 4 2 0 2 4 6 x Slutligen ett exempel på pgfplots funktioner för att rita 3D-diagram. Även här behöver vi ett tillägg; i detta fall patchplots som är ett tillägg till pgsplots. 5 Paketen är naturligtvis ordenligt beskrivna i utförliga manualer som man hittar på nätet. 11

\usepackage{ p g f p l o t s } \ u s e p g f p l o t s l i b r a r y { p a t c h p l o t s } \begin{tikzpicture} \begin{axis} \addplot3[patch, patch type=biquadratic, shader=faceted interp, patch refines =3] coordinates { (0,0,1) (6,1,1.6) (5,5,1.3) ( 1,5,0) (3,1,0) (6,3,0.4) (2,6,1.1) (0,3,0.9) (3,3.75,0.5) }; \end{axis} \end{tikzpicture} 1 0 0 2 4 6 0 2 4 6 5.2 Placering och figurtext När det gäller placeringen av figurer så är huvudprincipen att man använder något som brukar kallas flytande placering. Det innebär att L A TEX själv hittar en lämplig plats; normalt högst upp eller längst ned på en sida. I första hand placeras figuren på samma sida som texten där figuren beskrivs, men om det blir för trångt så kommer L A TEX att placera den på en senare sida. För att få en flytande figur så använder man omgivningen figure. Det finns också en omgivning table som används på motsvarande sätt, men är tänkt för flytande placering av lite större tabeller. Allt som skrivs mellan \begin{figure} och \end{figure} kommer att placeras flytande, d.v.s. inte precis på den plats i texten där beskrivningen står. En typisk figur, där själva bilden kommer från en separat fil (i detta fall ett fotografi) kan beskrivas på följande sätt: \begin{ f i g u r e } \begin{ c e n t e r } \ i n c l u d e g r a p h i c s [ width =0.8\textwidth ] { b i l d. jpg } \end{ c e n t e r } \caption{ Mitt eget f o t o g r a f i } \end{ f i g u r e } Vi har här använt omgivningen center för att få bilden centrerad, d.v.s. med lika mycket tomrum på högra och vänstra sidan. För att ladda in själva bilden så använder vi \includegraphics som tidigare. Förutom själva bilden så bör figure-omgivningen innehålla bildtexten. Det gör man med hjälp av kommandot \caption. Bildtexten placeras under bilden, och figurerna blir automatiskt numrerade. 12

6 Korsreferenser Det är vanligt att man i ett dokument behöver hänvisa till någon annan del av dokumentet. Om man försöker använda kapitlens eller avsnittens nummer manuellt så kan det lätt bli fel. Om man t.ex. skriver Se avsnitt 4 för en utförligare beskrivning så kan detta mycket väl vara sant när man skriver det, men om man senare lägger till nya avsnitt eller ändrar ordningen så att avsnittet inte längre har nummer 4 så blir hänvisningen fel. L A TEX har några få men mycket användbara kommandon för att få ordning på denna typ av korsreferenser. Kommandot \label{typ:markör} gör att L A TEX memorerar den aktuella platsen så att man kan hänvisa dit från andra ställen i dokumentet med kommandot \ref{typ:markör}. markör är här ett beskrivande ord som du hittar på själv, medan typ ska vara något av ch (för chapter), sec (för section), subsec (för subsection), eq (för equation), fig (för figure) eller itm (for item i en numrerad punktlista). Dessa typer är dock bara en konvention; det som egentligen bestämmer vad man refererar till är den exakta placeringen av label-kommandot. En label som placeras direkt efter ett section-kommando kommer t.ex. att bli en referens till det avsnittet; en label som placeras inne i en enumerate-lista kommer att referera till den aktuella punkten i listan; o.s.v. Man använder kommandot \ref{typ:markör} för att skriva en referens till den aktuella platsen. Detta innebär oftast att ett eller ett par nummer sätts in i texten. Om man t.ex. hänvisar till ett kapitel så kommer helt enkelt kapitlets nummer att fogas in. Beroende på dokumenttypen kan avsnitt ha enkla eller dubbla nummer (med punkt emellan), och samma sak gäller för ekvationer och figurer. \ref genererar alltid en etikett enligt den aktuella numreringen. En typisk hänvisning till ett annat avsnitt kan se ut så här i L A TEX-filen: Se a v s n i t t ~\ ref { s e c : f o r m l e r } f ö r mer om f o r m l e r. I detta dokument blir motsvarande färdiga text: Se avsnitt 4 för mer om formler. 6 Se ekvation ~\ ref { eq : maxwell } på sidan ~\pageref{eq : maxwell }. Här har vi ett exempel på en referens till en ekvation. För att det ska vara någon mening med att referera till ekvationer så bör ekvationerna vara numrerade. Detta får man om man använder omgivningen equation istället för displaymath. För att exemplet ovan ska fungera så bör det alltså någon annanstans i dokumentet finnas dessa rader: \begin{ equation } \ label { eq : maxwell }. \end{ equation } 6 Tecknet ~ (tilde) betyder ett mellanslag där man inte vill ha en radbrytning. Det är lämpligt att använda före kommandot \ref för att undvika en störande radbrytning mellan ordet avsnitt och själva avsnittsnumret. 13

För figurer så ska \label-kommandot placeras tillsammans med figurtexten, d.v.s. som en del av parametern till \caption. Då kommer \ref att ge det aktuella figurnumret. 7 Litteraturreferenser I tekniska och vetenskapliga texter är det mycket vanligt att man behöver hänvisa till källor eller annan relevant litteratur. När det handlar om mer än en handfull referenser så är det lätt att göra misstag, t.ex. att man glömmer att ta med en post i litteraturlistan, eller att man har med poster som aldrig nämns i huvudtexten. L A TEX har mycket bra stöd för att automatisera genereringen av litteraturlistor så att de dels innehåller rätt poster, men även säkerställa att de skrivs på ett konsistent sätt och är korrekt sorterade. Vi rekomenderar att du använder paketet biblatex för att hantera litteraturreferenserna. BibLatex är en vidareutveckling av verktyget BibTex som är ett äldre verktyg byggt på samma grundidé. I L A TEX-filen använder man några enkla kommandon för att markera var i den löpande texten man vill lägga in referenser till poster i litteraturlistan. BibLatex hämtar detaljerad information om den litteratur man refererat till från en separat litteraturdatabas och sammanställer automatiskt en prydlig litteraturlista med rätt innehåll. Genom att man använder sig av ett separat hjälpprogram (biber) så blir arbetsgången något mer komplicerad, vilket illusteras i figur 4. När programmet xelatex behandlar en L A TEX-fil där man använt paketet biblatex, så skapas en beställning till biber i en speciell fil (av typen.bcf). Programmet biber använder denna för att hämta relevant information från litteraturdatabasen och bygga en litteraturlista som sparas i en.bbl-fil (Bibliography List). När xelatex körs en andra gång så inkluderas innehållet i denna.bbl-fil i det slutliga dokumentet. Detta kan verka krångligt, men i praktiken betyder det bara att man måste köra xelatex en extra gång, efter att man kört biber. Om man använder TEX- Studio eller någon annan integrerad utvecklingsmiljö så sköts detta automatiskt. 7.1 Användning av BibLatex Paketet biblatex laddas på vanligt sätt med hjälp av \usepackage. Med hjälp av extra parametrar kan man styra t.ex. hur referenserna ska se ut i texten, men också utseendet och ordningen i litteraturlistan. \usepackage [ s t y l e=authoryear ] { b i b l a t e x } \ addbibresource { m i n l i t t e r a t u r. bib } Här har vi med extraparametern style=authoryear talat om att vi vill att referenserna i texten ska skrivas som författare och årtal inom parentes. Utan denna parameter så får man istället numrerade referenser innanför hakparenteser. Vi ser också att vi använt kommandot \addbibresource, som talar om för biblatex (och därigenom, indirekt, för biber) från vilken litteraturdatabas detaljinformationen ska hämtas. I detta fall är litteraturdatabasen en vanlig textfil, och filtypen.bib avslöjar att den är skriven på traditionellt bibtexformat. Vi återkommer i avsnitt 7.2 om hur innehållet i en sådan fil ser ut. 14

PDF-visare Text-editor L A TEX-fil xelatex PDF-fil Skrivare.bcf-fil.bbl-fil Text-editor Litteraturdatabas biber Figur 4: Utvidgad arbetsgång när man använder L A TEX tillsammans med Bib- Latex och Biber. På den plats i dokumentet där man vill placera sin litteraturlista, normalt i slutet, så lägger man in kommandot: \ p r i n t b i b l i o g r a p h y {} I den löpande texten använder man framförallt kommandot \parencite för att foga in en referens. Som namnet antyder så placeras referensen inom parenteser. \parencite tar en parameter; en identifierare för den artikel eller bok man refererar till. Dessa identifierare kan i princip vara vilken kort text som helst, men man måste följa samma konvention i databasen för att biber ska hitta rätt. Det är vanligt att använda en sammanskrivning av författare och årtal för att få läsliga identifierare. En enkel referens kan se ut på detta sätt i L A TEX-filen: E f f e k t i v a a l g o r i t m e r f ö r s o r t e r i n g är väl studerade \ p a r e n c i t e {Knuth 1997}. Resultatet blir då något i stil med: E f f e k t i v a a l g o r i t m e r f ö r s o r t e r i n g är väl studerade ( Knuth 1 9 9 7 ). och i litteraturlistan kommer det att dyka upp en post: Knuth, Donald. ( 1 9 9 7 ) : The Art o f Computer Programming, 3 rd e d i t i o n, Addison Wesley, Reading Massachusetts. Lägg märke till att referensen står inom parentes, och därför inte kan fungera som en satsdel. Om man behöver använda referensen som en del av meningsbyggnaden kan man använda kommandot \textcite istället för \parencite. \textcite skriver författarens namn utanför parentesen, så att det kan fungera som subjekt (eller predikat): 15

... som s t u d e r a t s av \ t e x t c i t e {Knuth 1997}. ger efter framkallning:... som s t u d e r a t s av D. Knuth ( 1 9 9 7 ). Ibland vill man hänvisa till flera olika referenser på samma gång. Om man skriver flera \parencite efter varandra så kommer de att stå i var sin parentes, vilken inte är speciellt snyggt. Lösningen är att skriva identifierarna för alla referenserna, med komma emellan, till ett och samma \parencite. Det finns många fler kommandon och funktioner i paketet biblatex. Leta redan på dokumentationen för paketet biblatex om du behöver veta mer. 7.2 Litteraturdatabasen Den enklaste formen av litteraturdatabas är en textfil skriven på s.k. BibTexformat. Filen består av poster efter varandra, som var och en beskriver en bok, artikel eller likande. Varje post inleds med tecknet @ följt av typen av referens. Det var det format som användes av det ursprungliga programmet för referenshantering i L A TEX, och är vida spritt. När man t.ex. söker efter artiklar och böcker på förlagens webbsidor kan man ofta hitta en färdig BibTex-formaterad beskrivning som man helt enkelt kan kopiera in i sin egen litteraturdatabas. Posterna i litteraturdatabasen har denna form: @book{knuth 1997, author = {Donald Knuth }, t i t l e = {The Art o f Computer Programming }, e d i t i o n = {3 rd e d i t i o n }, year = {1997}, p u b l i s h e r = { Addison Wesley }, address = { Reading Massashusetts } } Detta var ett exempel på data för en bok, utgiven av ett bokförlag. Lägg märke till identifieraren ( Knuth1997 ) som står på första raden. Det är alltså den identifieraren som knyter ihop posterna i litteraturdatabasen med de referenser vi skriver i L A TEX-filen. För poster som beskriver en artikel i en tidskrift så blir formatet lite annorlunda: @ a r t i c l e { AnderssonEriksson 2017, author = {Eva Andersson and Per Eriksson }, t i t l e = { Undersökning av s ä l a r n a s k ä n s l o l i v }, j o u r n a l = { Sälsamheter i naturen }, year = {2017}, volume = {12}, pages = {63 67} } Lägg märke till att man använder ordet and mellan författarnas namn, när det är flera författare, även om man skriver på svenska. Ordet and behandlas 16

som en speciell avskiljare, och om det är fler än två författare så ska ordet and in mellan alla personerna. biber kommer att ersätta dessa and med lämpliga kommatecken och bindeord; anpassat till det språk man angivit till polyglossia. 8 Hitta mer information Syftet med denna skrift har varit att ge en kort introduktion till L A TEX, men det finns naturligtvis mycket mer att läsa och lära. För en fylligare introduktion rekommenderas boken The Not So Short Introduction to L A TEX2 ϵ som har blivit något av en klassiker. Hela boken går att ladda ned via länkarna nedan. Alla paket har någon form av dokumentation som ofta installerats tillsammans med L A TEX, men som annars kan hittas på nätet. I praktiken brukar det fungera väldigt bra att söka på nätet, där man hittar både formell dokumentation, men även forum för erfarenhetsutbyte. Här är några av de viktigaste resurserna på nätet: https://www.tug.org TEX Users Group Här finns länkar till olika resurser, bl.a. information om hur man installerar L A TEX på olika system (GNU/Linux, MacOS, Windows). https://ctan.org The Comprehensive TEX Archive Network CTAN är ett arkiv för allt som har med TEX och L A TEX att göra. Här hittar du över 5000 paket och tillhörande dokumentation. Här finns också boken The Not So Short Introduction to L A TEX2 ϵ, även översatt till andra språk än Engelska. https://tex.stackexchange.com Q&A Frågor och svar Stackexchange är ett forum där användare ställer frågor som besvaras av självutnämnda experter. Ett röstningsystem fungerar som kvalitessäkring; intressanta frågor och bra svar belönas. Här finns otroligt mycket bra information om L A TEX. 17