L A T E X foredrag 24 marts 2018 Søren Aksel Helbo Bjergmark sahb@unf.dk UNF Aalborg
Introduktion 1 Introduktion Foredragsholder Dagens Program Showcase Dagens forløb Forelæsning Opgaver Pause L AT EX vs. WYSIWYG Hvorfor L AT E X Simpelt eksempel Syntax Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Slides 2 Introduktion Foredragsholder Dagens Program Showcase L AT EX vs. WYSIWYG Hvorfor L AT E X Alle slides og opgaver kan findes på https://unf.sahb.dk/ Simpelt eksempel Syntax Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Foredragsholder LATEX foredrag Søren Aksel Helbo Bjergmark I Software: I Introduktion 3 Foredragsholder Dagens Program 10. semester Showcase LATEX vs. WYSIWYG I Foredragsholder: I I I Hvorfor LATEX Simpelt eksempel UNF Prosa Syntax Errors ShareLaTeX En Artikels Opbygning UNF: I I I Pageref Billeder Landskasserer (2017-2018) Koordinator (2016-2018) Formand (2015-2017) Hvis intet virker
Hvad vi skal lære i dag Introduktion Hvad er L A T E X Et simpelt dokuments opbygning Indholdsfortegnelse Referencer Billeder og figurer Tabeller Kilder Margin, Header, Footer Foredragsholder 4 Dagens Program Showcase L AT EX vs. WYSIWYG Hvorfor L AT E X Simpelt eksempel Syntax Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Hvad vi skal lære i dag Introduktion Foredragsholder 5 Dagens Program Matematik Kommentarer Pakke system Inkludering af pdf er Dokumenttyper Makroer Showcase L AT EX vs. WYSIWYG Hvorfor L AT E X Simpelt eksempel Syntax Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Showcase Introduktion Foredragsholder Dagens Program 6 Showcase L AT EX vs. WYSIWYG Hvorfor L AT E X Dette slideshow er lavet med LaTeX Beamer! Simpelt eksempel Syntax Errors ShareLaTeX Med LaTeX kan man lave flotte slide-shows til eksamen og andre præsentationer. En Artikels Opbygning Pageref Billeder Hvis intet virker
Showcase Introduktion Foredragsholder Dagens Program 7 Showcase L AT EX vs. WYSIWYG Hvorfor L AT E X Simpelt eksempel Syntax Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Showcase Introduktion Foredragsholder Dagens Program 8 Showcase L AT EX vs. WYSIWYG Hvorfor L AT E X Simpelt eksempel Syntax Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker Atom gitterstruktur
Showcase Introduktion Foredragsholder Dagens Program 9 Showcase L AT EX vs. WYSIWYG Hvorfor L AT E X Simpelt eksempel Syntax Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker Curved coordinate system
Showcase Introduktion Foredragsholder Dagens Program 10 Showcase L AT EX vs. WYSIWYG Hvorfor L AT E X Simpelt eksempel Syntax Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker Neuralt Netværk
L A T E X vs. WYSIWYG Introduktion Foredragsholder Dagens Program Showcase 11 L AT EX vs. WYSIWYG Hvorfor L AT E X Simpelt eksempel Syntax Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Hvorfor bruge L A T E X? Introduktion Foredragsholder Dagens Program Hurtigt Overskueligt med opdelte filer Kollaborations muligheder Versionsstyring Referencer og kilder bliver overskuelige Showcase L AT EX vs. WYSIWYG 12 Hvorfor L AT E X Simpelt eksempel Syntax Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Simpelt eksempel \documentclass{article} \usepackage[utf8]{inputenc} \title{interessant Artikel} \author{john Doe} \date{september 2017} \begin{document} \maketitle \section{introduktion} Lidt tekst Introduktion Foredragsholder Dagens Program Showcase L AT EX vs. WYSIWYG Hvorfor L AT E X 13 Simpelt eksempel Syntax Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker \end{document}
Kommandoer Introduktion Syntax 14 Kommandoer Environments \ % Dette er en kommantar \kommando \kommando{argument} \kommando[options]{argument} Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Kommandoer Eksempel \newpage \textit{hello World}\\ \textbf{hello World} Hello World Hello World Introduktion Syntax 15 Kommandoer Environments Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Environments \begin{...}... \end{...} Et environment starter med \begin{} og slutter med \end{} Vi bruger Environments til at lave lister, indsætte figurer, lave tabeller og meget mere. Introduktion Syntax Kommandoer 16 Environments Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Eksempel \begin{itemize} \item Kat \item Tiger \item Fisk \end{itemize} Kat Tiger Fisk Introduktion Syntax Kommandoer 17 Environments Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Eksempel \begin{enumerate} \item Kat \item Tiger \item Fisk \end{enumerate} 1. Kat 2. Tiger 3. Fisk Introduktion Syntax Kommandoer 18 Environments Errors ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Introduktion Syntax Fejl opstår L A T E X giver dog gode fejlbeskeder 19 Errors Examples ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Errors Misplaced alignment Introduktion Syntax Errors 20 Examples ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Errors Missing $ Introduktion Syntax Errors 21 Examples ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
Errors Missing } Introduktion Syntax Errors 22 Examples ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker
ShareLaTeX Introduktion Syntax Ligesom Google Docs, bare for L A T E X Flere kan arbejde på samme tid AAU giver gratis adgang! Simpel Versionsstyring Errors 23 ShareLaTeX En Artikels Opbygning Pageref Billeder Hvis intet virker Ingen lokal installation Nemt at sammarbejde (Gruppearbejde)
En tom ramme Introduktion Syntax Errors ShareLaTeX \documentclass{article} \usepackage[utf8]{inputenc} \begin{document} \end{document} En Artikels Opbygning 24 Den tomme ramme Sektioner Undersektioner Uden nummerering Indholdsfortegnelse Input Referencer Ref eksempel Pageref Billeder Hvis intet virker
Sektioner Introduktion Syntax Errors \documentclass{article} \usepackage[utf8]{inputenc} \begin{document} \section{sektion} \end{document} ShareLaTeX En Artikels Opbygning Den tomme ramme 25 Sektioner Undersektioner Uden nummerering Indholdsfortegnelse Input Referencer Ref eksempel Pageref Billeder Hvis intet virker
Sektion med tekst Introduktion Syntax \documentclass{article} \usepackage[utf8]{inputenc} \begin{document} \section{sektion} Vi tilføjer lidt tekst \end{document} Errors ShareLaTeX En Artikels Opbygning Den tomme ramme 26 Sektioner Undersektioner Uden nummerering Indholdsfortegnelse Input Referencer Ref eksempel Pageref Billeder Hvis intet virker
Undersektion med tekst Introduktion \documentclass{article} \usepackage[utf8]{inputenc} \begin{document} Syntax Errors ShareLaTeX En Artikels Opbygning Den tomme ramme Sektioner 27 Undersektioner \section{sektion} Vi tilføjer lidt tekst \subsection{undersektion} Lidt mere tekst \end{document} Uden nummerering Indholdsfortegnelse Input Referencer Ref eksempel Pageref Billeder Hvis intet virker
Uden nummerering Introduktion \documentclass{article} \usepackage[utf8]{inputenc} \begin{document} Syntax Errors ShareLaTeX En Artikels Opbygning Den tomme ramme Sektioner Undersektioner \section*{sektion} Vi tilføjer lidt tekst \subsection*{undersektion} Lidt mere tekst \end{document} 28 Uden nummerering Indholdsfortegnelse Input Referencer Ref eksempel Pageref Billeder Hvis intet virker
Indholdsfortegnelse \documentclass{article} \usepackage[utf8]{inputenc} \begin{document} \tableofcontents \section{sektion} Vi tilføjer lidt tekst \subsection{undersektion} Lidt mere tekst \end{document} Introduktion Syntax Errors ShareLaTeX En Artikels Opbygning Den tomme ramme Sektioner Undersektioner Uden nummerering 29 Indholdsfortegnelse Input Referencer Ref eksempel Pageref Billeder Hvis intet virker
Flere filer \begin{document} \input{sektion1.tex} \input{sektion2.tex}... \end{document} \indput{...} bruges til at indsætte indholdet af filer. Herved kan man opdele sit projekt i mindre dele, så projektet bliver mere overskueligt. Introduktion Syntax Errors ShareLaTeX En Artikels Opbygning Den tomme ramme Sektioner Undersektioner Uden nummerering Indholdsfortegnelse 30 Input Referencer Ref eksempel Pageref Billeder Hvis intet virker
Referencer \label{...} \ref{...} Med kommandoen \label{...} kan man indsætte steder i sit dokument, hvortil man ønsker at lave referencer. Referencerne kan nu indsættes med kommandoen \ref{...}. Introduktion Syntax Errors ShareLaTeX En Artikels Opbygning Den tomme ramme Sektioner Undersektioner Uden nummerering Indholdsfortegnelse Input 31 Referencer Ref eksempel Pageref Billeder Hvis intet virker
Referencer Introduktion Syntax Errors ShareLaTeX \section{alt om Katte}\label{sec:kat} Som set i afsnit \ref{sec:kat}... En Artikels Opbygning Den tomme ramme Sektioner Undersektioner Uden nummerering Indholdsfortegnelse Input Referencer 32 Ref eksempel Pageref Billeder Hvis intet virker
Pageref Introduktion Syntax Errors ShareLaTeX En Artikels Opbygning Til at refere til sider findes udover ref også \pageref Gør det samme som ref, men referer til siden i stedet for 33 Pageref Billeder Hvis intet virker
Billeder simpel \usepackage{graphicx} includegraphics[scale=1]{uni.jpg} Introduktion Syntax Errors ShareLaTeX Den mest enkle måde at indsætte et billede. uni.jpg er navnet på billedet En Artikels Opbygning Pageref 34 Billeder Hvis intet virker
Billeder kompleks \begin{figure}[h] \centering \includegraphics[scale=1]{uni.jpg} \caption{en normal spiralgalakse} \label{fig:galaxy} \end{figure} Introduktion Syntax Errors ShareLaTeX En Artikels Opbygning Pageref 35 Billeder Hvis intet virker Figure: En normal spiralgalakse
Hvis intet virker Introduktion Syntax Errors ShareLaTeX En Artikels Opbygning Søg hjælp på Google efter fejlmeddelelsen eller hvad du gerne vil have lavet Pageref Billeder 36 Hvis intet virker
Hvis intet virker Introduktion Syntax Errors ShareLaTeX En Artikels Opbygning Søg hjælp på Google efter fejlmeddelelsen eller hvad du gerne vil have lavet Mit foredrag her i dag kan ikke lære alt - du skal selv ud og søge meget information Pageref Billeder 36 Hvis intet virker
Introduktion Syntax Opgaver - Errors ShareLaTeX En Artikels Opbygning Pageref Billeder 37 Hvis intet virker
Specielle karakterer Nogle karakterer i L A T E X er såkaldte specielle karakterer Eksempler er: % $ & # For at få vist et specielt tegn er den generelle regel at der skal der skrives \ foran tegnet - eksempelvis \$ 38 Specielle karakterer Tabeller Kilder Pakker Kodestykker Matematik Kommentarer Preamble
Tabeller Specielle karakterer 39 Tabeller Eksempel Muligt at lave tabeller Syntaxen kan være tidskrævende at lave Søg efter L A T E X table generator på nettet for at generere tabel kode Kode Kilder Pakker Kodestykker Matematik Kommentarer Preamble
Tabeller Eksempel Specielle karakterer Dag Min Temp Max Temp Torsdag -2C 3C Fredag -10C -1C Lørdag -5C 5C Table: Temperatur over de sidste 3 dage Tabeller 40 Eksempel Kode Kilder Pakker Kodestykker Matematik Kommentarer Preamble Og det kan man så se her i tabel 1
Tabeller Kode \begin{table}[] \centering \begin{tabular}{ l l l l } \hline Dag & Min Temp & Max Temp \\ \hline Torsdag & -2C & 3C \\ \hline Fredag & -10C & -1C \\ \hline Lørdag & -5C & 5C \\ \hline \end{tabular} \caption{temperatur over de sidste 3 dage} \label{my-label} \end{table} Specielle karakterer Tabeller Eksempel 41 Kode Kilder Pakker Kodestykker Matematik Kommentarer Preamble Og det kan man så se her i tabel \ref{my-label}
Bibtex Specielle karakterer Tabeller 42 Kilder Kilder i L A T E X Kilder defineres i en fil hvorefter der så kan refereres til den Citations stil kan ændres i preamble Eksempel Kode Pakker Kodestykker Matematik Kommentarer Preamble
Bibtex Eksempel Dette her er en tekst jeg meget gerne vil citere [1]. Tekst 2 [2, 1] Dette her er vores kildeliste: [1] George D. Greenwade. The Comprehensive Tex Archive Network (CTAN). TUGBoat, 14(3):342 351, 1993. Specielle karakterer Tabeller Kilder 43 Eksempel Kode Pakker Kodestykker Matematik Kommentarer Preamble [2] James Montemagno..net standard library support for xamarin.
Bibtex Kode \bibliographystyle{plain} Specielle karakterer Tabeller Dette her er en tekst jeg meget gerne vil citere \cite{greenwade93}. Tekst 2 \cite{netstandardforxamarin, greenwade93} Kilder Eksempel 44 Kode Pakker Kodestykker Matematik Kommentarer Preamble Dette her er vores kildeliste: \bibliography{kode/bibtex}
Bibtex Kode @article{greenwade93, author = "George D. Greenwade", title = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})", year = "1993", journal = "TUGBoat", volume = "14", number = "3", pages = "342--351" } Specielle karakterer Tabeller Kilder Eksempel 45 Kode Pakker Kodestykker Matematik Kommentarer Preamble
Bibtex Kode @online{netstandardforxamarin, author = "James Montemagno", title = ".NET Standard Library Support for Xamarin", date = "2017-08-02", url = {https://blog.xamarin.com/ net-standard-library-support-forxamarin/}, urldate = "2017-09-15" } Specielle karakterer Tabeller Kilder Eksempel 46 Kode Pakker Kodestykker Matematik Kommentarer Preamble
Pakker Alt kan tilpasses i L A T E X For at du ikke skal tilpasse alt selv findes der en række pakker der kan klare mange ting Eksempler er: Fxnotes TikZ Kodestykker (listings, minted m.fl.) Encoding på filer (inputenc) Sprog på overskrifter m.v. (babel - dansk) url (formaterer url er) mathtools (Matematik) Skal altid placeres før begin document Specielle karakterer Tabeller Kilder 47 Pakker Kodestykker Matematik Kommentarer Preamble
Kodestykker Specielle karakterer Tabeller Kilder Kodestykker i L A T E X I eksemplerne her med minted Supporterer over 150 sprog Mulighed for at highlighte enkelte ord Pakker 48 Kodestykker Eksempel Matematik Kommentarer Preamble
Kodestykker Eksempel \usepackage{minted} \inputminted [breaklines=true] {csharp} {Kode/Csharp.cs} var result = await ExecuteQuery <ExercisePlan>().Where(e => e.title == "Knæøvelse").OrderBy(e => e.id).tolistasync(); Specielle karakterer Tabeller Kilder Pakker Kodestykker 49 Eksempel Matematik Kommentarer Preamble
Math mode Specielle karakterer Tabeller Matematiske formler Gør det let at skrive avancerede formler Bliver placeret i seperat boks a mod b Kilder Pakker Kodestykker 50 Matematik Eksempel Kommentarer Preamble a 2 + b 2 = c 2
Math mode Eksempel \usepackage{mathtools} $a^2 + b^2 = c^2$ \begin{equation} x = a_0 + \frac{12}{a_3} \end{equation} a 2 + b 2 = c 2 x = a 0 + 12 a 3 (1) Specielle karakterer Tabeller Kilder Pakker Kodestykker Matematik 51 Eksempel Kommentarer Preamble
Fxnotes Specielle karakterer Tabeller Kilder Pakker Kommentarer der eksempelvis kan bruges under rettelsesprocessen Ligesom word kommentarer Kodestykker Matematik 52 Kommentarer Eksempel Kode Preamble
Fxnotes Eksempel Liste med alle kommentarer: *RettelserNote: Kommentar1 Note: Dette her er en længere kommentar som jeg inkluderer her Dette her er en 1 tekst jeg har kommentar til 2 Specielle karakterer Tabeller Kilder Pakker Kodestykker Matematik Kommentarer 53 Eksempel Kode Preamble 1 FiXme Note: Kommentar1 2 FiXme Note: Dette her er en længere kommentar som jeg inkluderer her
Fxnotes Kode \usepackage[footnote,draft,danish,silent,nomargin] {fixme} Liste med alle kommentarer: \listoffixmes Dette her er en\fxnote{kommentar1} tekst jeg har kommentar til \fxnote{dette her er en længere kommentar som jeg inkluderer her} Specielle karakterer Tabeller Kilder Pakker Kodestykker Matematik Kommentarer Eksempel 54 Kode Preamble
Preamble Specielle karakterer Opsætning af L A T E X bliver typisk ret avanceret med mange pakker Opsætning flyttes derfor ind i seperat dokument kaldet preamble Det er derfor muligt at fokusere på at skrive tekst, mens andre kan lave opsætningen for hele dokumentet Tabeller Kilder Pakker Kodestykker Matematik Kommentarer 55 Preamble
Specielle karakterer Opgaver - Tabeller Kilder Pakker Kodestykker Matematik Kommentarer 56 Preamble
Margin 57 Margin Margin på siderne kan sættes vha. pakken geomentry Margin sættes som standard på alle sider Header og footer Makroer Cleverref PDF include Dokumenttyper TikZ \usepackage[margin=3.0cm]{geometry}
Header og footer Flere pakker eksisterer til at oprette header og footer Eksempler på pakker til det er pakken fancyhdr \usepackage{fancyhdr} Margin 58 Header og footer Makroer Cleverref PDF include Dokumenttyper TikZ \pagestyle{fancy} \fancyhf{} \rhead{header, højre} \lhead{header, venstre} \rfoot{page \thepage}
Makroer Det er muligt at definere egne kommandoer i L A T E X Dette gøres vha. kommandoen \newcommand Eksempler: \newcommand{name}[num]{definition} Margin Header og footer 59 Makroer Cleverref PDF include Dokumenttyper TikZ \newcommand{\sfix}[1]{\fxnote{#1 /Søren}} \newcommand{\sqrt}[1][2]{$\sqrt{#1}$}
Cleverref Automatisk formatering for referencer Sortering, komprimering til interval Næsten alt er muligt at konfigurere \usepackage{cleveref} % 2 equations and 1 label Margin Header og footer Makroer 60 Cleverref Eksempel PDF include Dokumenttyper TikZ \cref{eq:2,eq:1,eq:b,sec:1}
Cleverref Eksempel \usepackage{cleveref} % 2 equations and 1 label \cref{eq:2,eq:1,eq:b,sec:1} a 2 + b 2 = c 2 (2) a = c 2 b 2 (3) b = c 2 a 2 (4) eqs. (2) to (4) and section 1 Margin Header og footer Makroer Cleverref 61 Eksempel PDF include Dokumenttyper TikZ
PDF Include Inkluder pdf er i dit dokument Muligt at inkludere hele filer eller kun en enkelt fil \usepackage{pdfpages} \includepdf{unf.pdf} \includepdf[pages={1}]{unf.pdf} Margin Header og footer Makroer Cleverref 62 PDF include Dokumenttyper TikZ
Artikler Flere document classes eksisterer (øverste linje) article er primært til artikler maketitle vises øverst på siden Sections, subsections og subsubsection Margin Header og footer Makroer Cleverref PDF include Dokumenttyper 63 Artikler Rapporter Præsentationer TikZ
Rapporter Til længere rapporter kan der bruges klassen report maketitle vises på seperat side Chapter, sections, subsections og subsubsections Margin Header og footer Makroer Cleverref PDF include Dokumenttyper Artikler 64 Rapporter Præsentationer TikZ
Rapporter Til længere rapporter kan der bruges klassen report maketitle vises på seperat side Chapter, sections, subsections og subsubsections Til bøger findes dokument klassen book Margin Header og footer Makroer Cleverref PDF include Dokumenttyper Artikler 64 Rapporter Præsentationer TikZ
Præsentationer L A T E X supporterer også præsentationer Følgende præsentation er lavet vha documentklassen beamer Definerer enviroment frame maketitle vises på seperat slide Sections, subsections og subsubsection Margin Header og footer Makroer Cleverref PDF include Dokumenttyper Artikler Rapporter 65 Præsentationer TikZ
TikZ Margin Header og footer Lav grafik i L A T E X Rigtigt mange funktioner Generer pæne figurer og som er "lette" at ændre Makroer Cleverref PDF include Dokumenttyper 66 TikZ Eksempler
TikZ Eksempel 1/7 \begin{tikzpicture} \draw (1,0) -- (0,0) -- (0,1); \end{tikzpicture} Margin Header og footer Makroer Cleverref PDF include Dokumenttyper TikZ 67 Eksempler
TikZ Eksempel 2/7 \begin{tikzpicture} \draw (1,0) -- (0,0) -- (0,1) -- (1,1) -- (1,0); \end{tikzpicture} Margin Header og footer Makroer Cleverref PDF include Dokumenttyper TikZ 68 Eksempler
TikZ Eksempel 3/7 \begin{tikzpicture} \draw[dashed] (1,0) -- (0,0) -- (1,1); \end{tikzpicture} Margin Header og footer Makroer Cleverref PDF include Dokumenttyper TikZ 69 Eksempler
TikZ Eksempel 4/7 \begin{tikzpicture} \draw[dashed, rotate=30] (1,0) -- (0,0) -- (1,1); \end{tikzpicture} Margin Header og footer Makroer Cleverref PDF include Dokumenttyper TikZ 70 Eksempler
TikZ Eksempel 5/7 \begin{tikzpicture} \draw[<-] (1,0) -- (0,0); \draw[<<->>] (0,0) -- (0,1); \end{tikzpicture} Margin Header og footer Makroer Cleverref PDF include Dokumenttyper TikZ 71 Eksempler
TikZ Eksempel 6/7 \begin{tikzpicture} \draw (0,0) circle [radius=1]; \end{tikzpicture} Margin Header og footer Makroer Cleverref PDF include Dokumenttyper TikZ 72 Eksempler
TikZ Eksempel 7/7 \begin{tikzpicture} \draw [domain=-1:2] plot (\x, {(\x*\x)/2}); \end{tikzpicture} Margin Header og footer Makroer Cleverref PDF include Dokumenttyper TikZ 73 Eksempler
Opgaver - Margin Header og footer Makroer Cleverref PDF include Dokumenttyper TikZ Eksempler
Tak for i dag!