dokumentskrivning i latex - en introduktionhx/latex-presentation.pdf · 2019-11-19 ·...

Post on 15-Jul-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Dokumentskrivning i LATEX - En introduktion

Henrik Henriksson

1

LATEX?

• Vad är LATEX?

• Hur fungerar LATEX?

• Att skriva med LATEX• Löptext, rubriker, textformatering• Listor, matematik, kod• Figurer, referenser, bibliografi

• Olika dokumenttyper

• Att använda LATEX i praktiken - demo

• Installation• Kompilering• Onlineeditors och

all-in-one-lösningar

2

LATEX?

Vad är LATEX?

• Ett system för typsättning

• En kompilator som äter kod ochspottar ut PDF-filer

• Smidigt och flexibelt

• Snyggt

Vad är LATEX inte?

• Word

• “Peka-klicka-skriv”

• Utan inlärningskurva

• En lösning på alla problem

3

Varför inte bara Word?

Word

• Bra på små korta enkla texter

• ”Akademiska” funktioner är ditlagda iefterhand

• Finns inget sätt att versionshantera

• Mycket pill för att få ett ”proffsigt”dokument

• Primärt en ordbehandlare

LaTeX

• Bra på större mer komplexadokument

• Skapat av (en) akademiker förakademiker (sig själv)

• Enkelt att versionshantera

• Ser ”proffsigt” ut medstandardinställningar

• Primärt ett typsättningsverktyg

4

Förr, när det var bättre

• I begynnelsen var TEX, som uppstod i början på80-talet när Donald Knuth skulle trycka en andraupplaga av The Art of Computer Programming ochtyckte att provtrycket såg fult ut.

• TEX är, om än snyggt, aningen omständigt attskriva, så man skapade LATEX, ett“standardbibliotek”.

5

Så hur ser det ut?

• Eftersom LATEX är råtext så kan manskriva i valfri editor

• I princip alla populära editors harnågot slags stöd för LATEX

• Det finns färdiga utvecklingsmiljöer,till exempel TEXstudio eller Gummi

• Lättast att komma igång med äronlinetjänster som Overleaf ochShareLaTeX

6

Overleaf

7

Hur skriver man LATEX?

Hur skriver man LATEX?

Beskriv vad man menar, inte hur man vill att det ska se ut.

8

Anatomi

LATEX-dokument delas alltid upp i två delar, preamble och det faktiska innehållet

• Preamble• Val av dokumenttyp• Import av olika paket• Inställningar för dokumentet

• Innehåll• Brödtext• Rubriker• Bilder

9

Lite Kod

1 \documentclassarticle % Val av dokumenttyp2 \usepackage[utf 8] inputenc % Importer och inställningar3 \usepackage[T1] fontenc % Trevligt med UTF -8.4 \usepackage[swedish ]babel % Vi skriver på svenska56 \titleTextredigerare % Sätt en titel på dokumentet7 \begindocument % Påbörja innehållet!8 \maketitle % Generera en titel åt oss9 \sectionEmacs % En rubrik tack!

10 Emacs rekommenderas starkt , % Brödtext11 men inte som initsystem.12 \enddocument % Slut på innehåll. Tack för fisken.

10

Lite Resultat

Textredigerare

7 februari 2018

1 EmacsEmacs rekommenderas starkt, men inte som initsystem.

1

11

Att skriva TEX

• Brödtext1 Lorem ipsum dolor sit amet ,2 consectetur adipiscing elit ,3 sed do eiusmod tempor.

• Kommandon1 \command2 \command\3 \commandcontent4 \command[optional , key=value] content

• Miljöer1 \beginenvironment2 innehåll3 \endenvironment

12

Innehåll

Vi börjar enkelt

1 Lorem ipsum dolor sit amet ,2 consectetur adipiscing elit.34 Ut enim ad minim veniam , quis5 nostrud exercitation ullamco6 laboris nisi ut aliquip ex ea7 commodo consequat.

Lorem ipsum dolor sit amet, consectetur adipiscingelit.

Ut enim ad minim veniam, quis nostrud exerci-tation ullamco laboris nisi ut aliquip ex ea commodoconsequat.

113

Rubriker

1 %\chapterKapitel2 \sectionHej!3 \subsectionHej igen!4 \subsubsectionNja , lite djupt5 nästlat6 \paragraphNamngivna stycken är7 trevligt8 Brödtext

1 Hej!

1.1 Hej igen!1.1.1 Nja, lite djupt nästlat

Namngivna stycken är trevligt Brödtext

114

Grundläggande textformatering

1 Lorem \emphipsum dolor sit2 amet , consectetur adipiscing3 \textttelit.45 Ut enim ad veniam ,6 quis nostrud exercitation7 ullamco laboris nisi ut8 \textbfaliquip ex ea

Lorem ipsum dolor sit amet, consectetur adipiscingelit.

Ut enim ad veniam, quis nostrud exercitation ul-lamco laboris nisi ut aliquip ex ea

115

Listor

1 \beginitemize2 \item Lorem3 \item Ipsum4 \beginenumerate5 \item Hello6 \item World7 \item Example8 \endenumerate9 \item 42

10 \enditemize

• Lorem

• Ipsum

1. Hello

2. World

3. Example

• 42

116

Citationstecken

1 Vanliga citationstecken2 fungerar inte i \LaTeX.3 Istället används ett4 ’’bättre ’’ sätt. Det5 finns även ’stöd’ för6 enkelfnuttar. Skillnad på7 ’’svenska ’’ och ‘‘engelska ’’8 citationstecken.

Vanliga citationstecken fungerar inte i LATEX. Istäl-let används ett ”bättre” sätt. Det finns även ’stöd’ förenkelfnuttar. Skillnad på ”svenska” och “engelska” ci-tationstecken.

117

Matte Matik – Decimaler på π

LATEX, särskilt syntaxen, är branchstandardför matematisk typsättning

• Stökig men effektiv syntax

• Stöd i både Word och Facebookchat

• Macron i editorn så går det snabbtatt skriva

∑k=0

1−k +∞

∑k=0

1−k = 22

18

Matematik

1 Matematik kan vara inline ,2 $\sum x = y$, eller i en miljö.3 Eulers identitet ,4 \beginequation5 e^-i\pi + 1 = \sin 0,6 \endequation7 kan till exempel vara i en8 egen miljö.

Matematik kan vara inline,∑

x = y, eller i enmiljö. Eulers identitet,

e−iπ + 1 = sin 0, (1)

kan till exempel vara i en egen miljö.

119

Mer matte

1 \beginequation2 \int_\ Omega f(\Theta)3 f\omega _\ Theta =4 \int _0^2\ pi5 \int _0^\ frac\pi26 f(\phi , \theta)7 \sin \theta d\theta d\phi8 \endequation9 \beginequation

10 \Omega_x(j) = \int_A_j11 \frac\cos \theta_y12 r^2_xy dA_y13 \endequation

Ω

f(Θ)fωΘ =

∫ 2π

0

∫ π2

0

f(φ, θ) sin θdθdφ (1)

Ωx(j) =

Aj

cos θyr2xy

dAy (2)

120

Ännu mer matte

Placera saker på flera rader med align ur paketet amsmath.

1 \beginalign *2 \sum_k = 0^\ infty 1^-k +3 \sum_k = 0^\ infty 1^-k4 &= 2^2 \\5 &\ Leftrightarrow \\6 2 + 2 &= 47 \endalign*

∞∑

k=0

1−k +∞∑

k=0

1−k = 22

⇔2 + 2 = 4

1

21

Internreferenser

Ofta vill man referera till figurer, bilder eller ekvationer från brödtext

1 Vissa formler , till exempel2 \beginequation3 \labeleq:inf4 \sum_k=0^\ infty5 \frac 12^k = 2,6 \endequation7 kan man vilja referera till8 senare i texten.9 Ekvation ~(\ refeq:inf) är

10 lättrefererad.

Vissa formler, till exempel

∞∑

k=0

1

2k= 2, (1)

kan man vilja referera till senare i texten. Ekvation (1)är lättrefererad.

1

22

Figurer

För att använda bilder behöver man paketet graphicx.

1 Se figur~\reffig:exfig för ett2 exempel.3 \beginfigure [ht]4 \centering5 \includegraphics[6 width =0.5\ linewidth]7 meme.png8 \caption \labelfig:exfig9 En exempelfigur

10 \endfigure

Se figur 1 för ett exempel.

Figur 1: En exempelfigur

1

23

Tabeller

Det finns bra syntax för att uttrycka tabeller i textform. Men inte i LATEX. De ser i varjefall snygga ut.

1 \begintable2 \caption \ labeltab:extab3 En exempeltabell4 \centering5 \begintabular l l r6 Lorem & ipsum & dolor \\ \hline7 sit & amet & 0.48 \\8 elit & malis & 38.7 \\9 an & nam & 5.3

10 \endtabular11 \endtable

Tabell 1: En exempeltabellLorem ipsum dolorsit amet 0.48elit malis 38.7an nam 5.3

1

24

Kod

För kod används lättast paketet listings

1 \lstinputlisting[2 label=lst:excode ,3 caption=Exempelkod ,4 language=c++] hack.cpp

Listing 1: Exempelkod#include <b i t s / s tdc++.h>using namespace std ;

int main ( int argc , char ∗argv [ ] )

cout << "Hel lo World" << endl ;f o rk ( ) ;return main ( argc , argv ) ;

1

25

Varför hoppar mina bilder runt överallt?

LATEX tar sig ganska stora friheter med var bland annat figure och table placeras.

• \FloatBarrier ur paketet placeins.

• \beginfigure[ht] → \beginfigure[H]

26

Referenser

Referenshantering i LATEX är praktiskt för större projekt.

1 \usepackagebiblatex2 \addbibresourcebibliography.bib3 \begindocument4 \sectionEn vild referens dök upp5 Att formatera kod vettigt har varit6 på tapeten länge~\citegustafson .7 \printbibliography 8 \enddocument

27

Bibliografi

1 @articlegustafson ,2 author = Gustafson , G. G.,3 title = Some Practical Experiences Formatting Pascal Programs,4 journal = SIGPLAN Not.,5 issue_date = September 1979,6 volume = 14,7 number = 9,8 month = sep,9 year = 1979 ,

10 issn = 0362 -1340 ,11 pages = 42--49,12 numpages = 8,13 doi = 10.1145/988113.988118 ,14 acmid = 988118 ,15 publisher = ACM,16 address = New York , NY, USA,17 28

Lättja

Men jag orkar inte skriva det där. Det är långt och komplicerat.

scholar.google.com → Kopiera och klista in.

29

Lättja

Men jag orkar inte skriva det där. Det är långt och komplicerat.

scholar.google.com → Kopiera och klista in.

29

Resultatet

1 En vild referens dök uppAtt formatera kod vettigt har varit på tapeten länge [1].

Referenser[1] G. G. Gustafson. “Some Practical Experiences Formatting Pascal Programs”. I: SIGPLAN Not.

14.9 (sept. 1979), s. 42–49. issn: 0362-1340. doi: 10.1145/988113.988118.

1

30

Automatgenererat innehåll

Vissa saker är jobbiga att skriva själv, men lätta att automatgenerera. LATEX löser dethär.

• \maketitle

• \tableofcontents

• \listoffigures

• \listoftables

• \printbibliography

31

Några allmänna kommandon

• \clearpage - Ny sida

• \\ - Tvinga fram en nyrad

• \inputfil.tex - Länka in en annan fil i dokumentet

• ∼ - Obrytbart mellanslag

32

Preamble

Preamble

I preamble läggs det som beskriver hur dokumentet ska se ut.

• Dokumenttyp

• Paketimporter

• Typsnitt

• Egna kommandon

• Pappersstorlek

• Header

• Footer

• Sidnumrering

• Marginaler

• Radavstånd

33

Dokumenttyper

Det finns massvis med dokumenttyper för olika syften. De sätts på första raden avdokumentet med \documentclassnamn.

• article Enklast möjliga, bra för mindre dokument

• report Som article, men med separat titelsida och stöd för chapter

• memoir Som C++, släng in alla features man kommer på

• letter Snigelpost

• beamer Presentationer som den här

• moderncv CV-mall som faktiskt ser snygg ut

34

Att pilla på utseendet

Skriv först, pilla sen

35

Att pilla på utseendet

Att pilla på typsättning är roligt. Och oftast onödigt.

• Håller man sig till standardinställningarna är man “säker”

• De vanliga dokumentklasserna är snygga och vettiga, om än aningen tråkiga

• Det finns massvis med information på internet

• Jobba på utseendet i preamble, inte i dokumentets innehåll

36

Okej, men hur kompilerar man?

Installation på Linux

Pick your poisonsudo apt install texlive-full bibersudo pacman -Syyu texlive-full bibersudo yum install texlive-full biber

37

Installation på Windows

38

Installation på Windows och OS X

• Installera en IDE för LATEX• TEXworks (Kommer bundlat med TEX Live)• TEXstudio• https://en.wikipedia.org/wiki/Comparison_of_TeX_editors

• Det finns olika distros, jag använder och rekommenderar TEX Live1, då det ärplattformsoberoende

• På Windows finns även MikTEX, som vissa tycker är mer välanpassat för justWindows

1https://tug.org/texlive/

39

Kompilering

• Vanlig kompileringlatexmk -pdf dinfil.tex

• Ignorera så många fel som möjligtlatexmk -pdf -interaction=nonstopmode dinfil.tex

• Ignorera felen och kompilera om automatiskt när någon källfil förändraslatexmk -pdf -interaction=nonstopmode -pvc dinfil.tex

• I en IDE - Tryck på den gröna knappen

40

Livekodning! Liveskrivning?

Några avslutande tips

• Konvertera andra format till LATEX med pandoc2

• Tikz, för den som vill skriva bilder

• Sök inte efter ’latex images’

• Semantik i innehållet, styling i preamble

• Skriv först, pilla sen

2https://pandoc.org/

41

Andra resurser

• Massvis med allmän information https://en.wikibooks.org/wiki/LaTeX

• Stackexchange https://tex.stackexchange.com/

• Overleaf https://www.overleaf.com

• ShareLATEX https://www.sharelatex.com

• Detexify http://detexify.kirelabs.org/classify.html

42

top related