MiKTeX en LaTeX introductie

MiKTEX en LATEX
Introductie
Marko Boon
http://www.win.tue.nl/∼marko/latex/intro/
30 september 2014
Introductie
2/57
LATEX
LATEX is een systeem om documenten te maken met een hoge kwaliteit wat typografie betreft. Het wordt vooral
gebruikt voor technisch-wetenschappelijke en/of grote documenten, maar kan in principe voor vrijwel elke vorm
van publiceren gebruikt worden.
LATEX is geen tekstverwerker! LATEX stimuleert juist om de nadruk te leggen op de juiste inhoud i.p.v. het uiterlijk.
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
3/57
MiKTEX
LATEX is platformonafhankelijk. Dat betekent dat je op elke computer, met elk operating system, LATEX kunt draaien.
MiKTEX is een implementatie van LATEX voor Windows.
TU/e Installatie MiKTEX 2.9:
• via de netwerkschijf \\pcwin1200\miktex29\ (tijdelijk)
• via de netwerkschijf \\winstorage\miktex\miktex29\
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
Faculteit Wiskunde en Informatica
4/57
MiKTEX en LATEX Introductie
Introductie
5/57
LATEX editor: WinEdt
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
6/57
DVI previewer: Yap
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
7/57
PostScript viewer: GSView
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
8/57
PDF viewer: Adobe (Acrobat) Reader
We will focus on using PDFLATEX to produce PDF directly!
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
Faculteit Wiskunde en Informatica
9/57
MiKTEX en LATEX Introductie
Introductie
10/57
De LATEX taal
• LATEX commando’s beginnen altijd met een backslash: \
• verplichte argumenten van een commando staan tussen accolades: { }
• optionele argumenten van een commando staan tussen rechte haken: [ ]
• commentaar begint met een procent teken: %
• LATEX verzorgt zelf de spatiëring (net als HTML).
• met de commando’s \begin{ } en \end{ } geef je environments aan, bijvoorbeeld
\begin{itemize}
\item eerste punt
\item tweede punt
\item derde punt
\end{itemize}
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
\begin{enumerate}
\item eerste punt
\item tweede punt
\item derde punt
\end{enumerate}
Introductie
11/57
Een .tex bestand
\documentclass[opties]{documentklasse}
% preamble
\begin{document}
% document
\end{document}
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
12/57
Een .tex bestand: intro.tex
\documentclass[12pt]{article}
\usepackage[dutch]{babel}
\begin{document}
\section{Introductie}
LaTeX is een systeem om documenten te maken met een
hoge kwaliteit typografie. Het wordt vooral gebruikt
voor technisch-wetenschappelijke en/of grote
documenten, maar kan in principe voor vrijwel elke
vorm van publiceren gebruikt worden.
\end{document}
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
13/57
LATEX gerelateerde programma’s
• WinEdt – editor
• Yap – DVI previewer
• Een programma om EPS plaatjes te maken (bv. Adobe Illustrator of Adobe Acrobat)
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
14/57
WinEdt
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
15/57
WinEdt
CTRL + SHIFT + N
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
16/57
WinEdt
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
17/57
Veelgebruikte packages
a4wide
gebruikt kleinere marges zodat je meer tekst op één pagina kwijt kunt.
amsmath
bevat LATEX commando’s voor geavanceerde wiskundige symbolen en commando’s.
babel
laadt afbreekregels voor een bepaalde taal.
eurosym
laadt het Euro symbool: e.
fancyhdr
hiermee kun je kop- en voetteksten maken.
graphicx
definieert een commando om plaatjes in te laden.
hyperref
voegt interactiviteit (hyperlinks, bookmarks) toe.
mathtime
laadt het Y&Y MathTime lettertype.
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
18/57
WinEdt
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
19/57
WinEdt
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
20/57
TEXify: compileert LATEX naar DVI (CTRL + SHIFT + X)
PDFTEXify: compileert LATEX naar PDF (CTRL + SHIFT + P, of F9)
converteert DVI naar PostScript (CTRL + SHIFT + D)
converteert PostScript naar PDF
opent Yap gaat direct naar de huidige positie (CTRL + SHIFT + S)
opent Adobe Reader en gaat naar de huidige positie (Shift+F8)
verwijdert alle gegenereerde hulpbestanden (DVI, LOG, PS, BIB, . . .).
Alleen het PDF bestand wordt niet verwijderd.
voegt een plaatje in.
voegt een tabel in.
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
21/57
WinEdt
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
22/57
Yap
Dubbelklik om terug naar WinEdt te springen
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
23/57
WinEdt
Wiskundige en internationale symbolen
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Introductie
24/57
WinEdt
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
De LATEX taal
25/57
Een commando is een instructie voor LATEX om “iets speciaals” te doen. Drie soorten commando’s:
• de volgende karakters hebben een speciale betekenis:
# $ & ~ _ ^ % { }
• om een van deze karakters af te drukken, zet er een backslash voor:
\$ \# \%
• het backslash karakter \ gevolgd door een reeks letters, eindigend met de eerste niet-letter:
\large \Large \bfseries
Sommige commando’s hebben een zogenaamde *-vorm om hun functionaliteit te veranderen. Voorbeeld:
\section*{Introductie}
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
De LATEX taal
26/57
Commando’s kunnen een argument hebben, tussen accolades geplaatst. Voorbeelden:
\section{Introductie}
\textbf{vet gedrukte tekst}
\begin{document}
Optionele argumenten worden tussen rechten haken gezet, en verplichte argumenten tussen accolades:
\documentclass[11pt]{article}
\usepackage[dutch]{babel}
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
De LATEX taal
27/57
Environments
Een environment (omgeving) behandelt de tekst binnen deze omgeving anders, volgens de parameters van de
environment.
Deze tekst is niet gecentreerd.
\begin{center}
Deze tekst is wel gecentreerd.
Deze tekst is wel gecentreerd.
Deze tekst is wel gecentreerd.
\end{center}
Deze tekst is niet gecentreerd.
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
De LATEX taal
28/57
Speciale karakters – Accenten
Accenten kunnen alsvolgt gemaakt worden binnen LATEX:
\‘e \’e \^o \"o \~o \=o \v{s} \c{c}
be\"invloeden
het re\"ele deel
Cura\c{c}ao
è é ô ö õ o¯ š ç
beïnvloeden
het reële deel
Curaçao
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
De LATEX taal
29/57
Speciale karakters – Accenten
Speciale symbolen kunnen ook direct ingetypt worden, maar alleen als de juiste “input encoding” gespecificeerd is. Deze hangt af van de taal en het besturingssysteem. Gebruik de package inputenc om de juiste
encoding te selecteren:
\usepackage[utf8]{inputenc}
beïnvloeden, reëel, Curaçao
C ƒ © ¥ §
beïnvloeden, reëel, Curaçao
€ƒ©¥§
Merk op dat sommige van deze karakters ook het package textcomp nodig hebben.
Bestanden die in andere editors dan WinEdt gemaakt zijn, hebben wellicht de volgende input encoding nodig:
\usepackage[ansinew]{inputenc}
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
De LATEX taal
30/57
Speciale karakters – Het e symbool
Om het e symbool te gebruiken, laadde package eurosym. Gebruik vervolgens het commando:
\euro
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
De LATEX taal
31/57
De taal/talen van het document instellen
Laad de package babel met de juiste argumenten (dutch, english) om de taal van het document in te stellen:
\usepackage[english,dutch]{babel}
Switch eventueel tussen talen binnenin je document:
\selectlanguage{dutch}
\today
\selectlanguage{english}
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Oefening
32/57
1. maak een nieuwe LATEX artikel. Lettertype grootte: 11pt. Laad de package a4wide om de juiste marges te
genereren.
2. kopieer de tekst van snowwhite.txt in de body van het document en run LATEX. Leg uit wat de foutmelding
betekent en corrigeer de fout.
3. vlak voor de fout staat een Euro symbool. Controleer of dit symbool ook in de DVI file staat. Zo niet, zorg
ervoor dat LATEX ook het Euro symbool weergeeft.
4. de laatste regel (The End) moet groot afgedrukt worden en gecentreerd.
5. deel het document in secties in: Introduction, The evil stepmother, The great forest, The seven dwarfs, The
murder of Snow White, The funeral, The prince, and The marriage.
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
De LATEX taal
33/57
Secties en hoofdstukken
Hoofdstukken, secties etc. geven we aan met de commando’s:
\chapter{ }
\chapter*{ }
\section{ }
\section*{ }
\subsection{ }
\subsection*{ }
\subsubsection{ }
\subsubsection*{ }
Opmerkingen:
• het commando \chapter bestaat alleen in de documentklassen book en report
• een * achter het commando geeft de ongenummerde versie
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
De LATEX taal
34/57
Labels en referenties
• \tableofcontents maakt een inhoudsopgave aan
• \label{ } maakt een label, meestal gebruikt in paragrafen, formules, plaatjes, tabellen, opsommingen
etc.
• Met \ref{label} kun je refereren naar dit label.
• Met \pageref{label} kun je refereren naar pagina waarop dit label voorkomt.
\section{Object Oriented Programming \label{oop}}
...
In hoofdstuk \ref{oop}, op pagina \pageref{oop},
wordt meer informatie gegeven over object
georienteerd programmeren.
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
De LATEX taal
35/57
LATEX packages
In de preamble van het document worden externe packages ingeladen. In deze packages staan commando’s
die “standaard” LATEX niet kent. Voorbeelden:
Commando
\euro
\includegraphics
\printindex
Package
eurosym
graphicx
makeidx
Functionaliteit
Toont het e symbool
voegt een extern plaatje in
maakt een alfabetische referentielijst
Packages die nog niet geïnstalleerd zijn, worden automatisch gedownload en alsnog geïnstalleerd.
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Tabellen
36/57
Met behulp van de tabular environment kunnen we tabellen maken:
\begin{center}
\begin{tabular}{|l|l|l|}
\hline
Commando & Package & Functionaliteit \\
\hline
\verb|\euro| & eurosym & Toont het \euro\ sym \\
\verb|\includegraphics| & graphicx & plaatje \\
\verb|\printindex| & makeidx & referentielijst \\
\hline
\end{tabular}
\end{center}
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Tabellen
37/57
Voorbeeld 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Stand Eredivisie 26 maart 2008
P W D
L Pts
PSV
30 19 7 4 64
Ajax
30 16 9 5 57
sc Heerenveen
30 16 6 8 54
Feyenoord
30 16 6 8 54
NAC Breda
30 16 6 8 54
FC Twente
30 14 10 6 52
FC Groningen
30 15 5 10 50
Roda JC
30 11 10 9 43
FC Utrecht
30 12 6 12 42
Vitesse
30 11 7 12 40
NEC
30 11 6 13 39
AZ
30 8 9 13 33
Heracles Almelo
30 8 7 15 31
Sparta Rotterdam 30 8 6 16 30
De Graafschap
30 7 7 16 28
Willem II
30 7 6 17 27
VVV-Venlo
30 6 8 16 26
Excelsior
30 6 5 19 23
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
+/61 - 23
79 - 40
76 - 38
56 - 34
41 - 35
47 - 31
50 - 48
51 - 49
56 - 50
42 - 51
43 - 49
41 - 49
33 - 56
46 - 68
30 - 55
33 - 41
37 - 67
29 - 67
Tabellen
38/57
Voorbeeld 1
\begin{tabular}{|l|l|cccc|r|c|}
\hline
\multicolumn{8}{|c|}{Eredivisie 26 maart 2008} \\
\hline
& & P & W & D & L & Pts & +/- \\
\hline
1 & PSV & 30 & 19 & 7 & 4 & 64 & 61 - 23 \\
2 & Ajax & 30 & 16 & 9 & 5 & 57 & 79 - 40 \\
...
18 & Excelsior & 30 & 6 & 5 & 19 & 23 & 29 - 67 \\
\hline
\end{tabular}
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Tabellen
39/57
Voorbeeld 2
Model
Description
Price
FBD 360 Desktop: XP3600+ Processor, 512 MB DDR-RAM, 80 GB Hard disk,
FBD 480
16x DVD drive, 32x CDRW drive, 64 MB TV output, Windows XP,
15"monitor
Desktop DeLuxe: Same as FBD 360 but with XP4800+ Processor, 48x
CDRW drive, 17"monitor
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
e 999.00
e 1399.00
Tabellen
40/57
Voorbeeld 2
\begin{tabular}{lp{0.5\textwidth}r}
\bfseries Model & \bfseries Description &
\bfseries Price \\[1ex]
FBD 360 & \small \textbf{Desktop}: XP3600+
Processor, 512~MB DDR-RAM, 80~GB Hard disk,
16x DVD drive, 32x CDRW drive, 64~MB TV output,
Windows~XP, 15" monitor & \euro\ 999.00 \\
FBD 480 & \small \textbf{Desktop DeLuxe}: Same
as FBD 360 but with XP4800+ Processor, 48x CDRW
drive, 17" monitor & \euro\ 1399.00 \\
\end{tabular}
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Tabellen
41/57
Excel to LATEX Add-In
1. download de Excel macro: Excel2LaTeX.xla
2. Start Excel en installeer de Add-in:
• Klik op de Office knop (linksboven in je scherm)
• Excel Options, Add-Ins, Go...
• Browse..., Selecteer de Add-In en klik op Ok
3. Herstart Excel
4. Een nieuwe knop is toegevoegd aan het Add-Ins tabblad:
5. Maak een tabel in Excel, selecteer deze, en klik op bovenstaande knop.
6. Vink uit: Booktabs-style formatting
7. Copy-paste naar WinEdt
8. Zorg dat je in je LATEX bestand de package bigstrut laadt!
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Plaatjes
42/57
Ondersteunde bestandsformaten:
EPS PDF JPG GIF PNG
LATEX
ja nee ja∗ nee ja∗
PDFLATEX nee ja
ja nee ja
Let op: alleen EPS en PDF zijn schaalbaar. Gebruik JPG en PNG alleen voor foto’s!
Veel programma’s kunnen EPS plaatjes genereren. Om plaatjes van de overige programma’s te exporteren naar
EPS en PDF kunnen we Adobe Acrobat gebruiken.
Gebruik EPS2PDF (op je bureaublad) om EPS naar PDF te converteren.
∗
werkt niet automatisch.
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Plaatjes
43/57
Plaatjes invoegen
• In de preamble:
\usepackage{graphicx}
• Op de plek van het plaatje:
\includegraphics[width=0.7\textwidth]{filename}
Gebruike de bestandsnaam van het plaatje zonder extensie! LATEX zal automatisch de EPS nemen, PDFLATEX zal de
PDF nemen.
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Plaatjes
44/57
Plaatjes invoegen
Je kunt een figure environment gebruiken om “zwevende” figuren te maken. LATEX zal het plaatje plaatsen op
de plek die je specificeert, of bovenaan de volgende pagina als het niet meer past op de huidige pagina. In
een figure environment kun je een beschrijving van het plaatje meenemen en een label om naar het figuur te
verwijzen.
\begin{figure}[!ht]
\begin{center}
\includegraphics{plaatjes/normaal}
\end{center}
\caption{Normale verdeling in het re\"ele vlak}
\label{fig:normaal}
\end{figure}
Nu kunnen we naar het plaatje verwijzen:
Zie figuur \ref{fig:normaal}.
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Plaatjes
45/57
JPG/PNG Plaatjes
LATEX kan (in tegenstelling tot PDFLATEX) niet automatisch de grootte van een JPG of PNG plaatje bepalen.
JPEG Image, 2304 × 1728 pixels.
\includegraphics[width=8cm,bb=0 0 2304 1728]
{holiday.jpg}
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Plaatjes
46/57
WinEdt plug-in:
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Plaatjes
47/57
Plaatjes maken
• teken je plaatje in een programma dat je gewend bent hiervoor te gebruiken (bv. Microsoft Visio, Word,
Powerpoint, of Adobe Illustrator)
• exporteer het naar PDF (bv. door het naar de Adobe PDF printer te printen)
• open de PDF in Adobe Acrobat en snij eventueel de randen weg (Crop)
• sla op als EPS
• converteer opnieuw naar PDF m.b.v. EPS2PDF op je bureaublad
Als het programma direct naar EPS kan exporteren, is dat natuurlijk
handiger! (bv. Adobe Illustrator)
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Plaatjes
48/57
MS Visio + Adobe Acrobat
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Plaatjes
49/57
MS Visio + Adobe Acrobat
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Plaatjes
50/57
MS Visio + Adobe Acrobat
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Plaatjes
51/57
MS Visio + Adobe Acrobat
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Plaatjes
52/57
MS Visio + Adobe Acrobat
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Wiskunde
53/57
Omgevingen voor wiskunde:
• $ ... $
wiskunde binnen doorlopende tekst (inline).
• \[ ... \]
wiskunde in een aparte paragraaf.
• \begin{equation} ... \end{equation}
wiskunde in een aparte paragraaf, elke regel wordt genummerd en kan een label krijgen om naar te verwijzen
• \begin{eqnarray} ... \end{eqnarray}
wiskundige vergelijkingen op meerdere regels die gelijk uitgelijnd worden
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Wiskunde – Voorbeeld
54/57
Iedereen weet dat $\sin \pi$ gelijk is aan $0$.
\begin{eqnarray*}
\lim_{x \rightarrow 0} \frac{\sin x}{x} &=& 1\\
\sum_{k=0}^\infty x^k &=& \frac{1}{1-x} \quad (|x|<1)
\end{eqnarray*}
Iedereen weet dat sin π gelijk is aan 0.
sin x
= 1
x→0 x
lim
∞
X
k=0
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
xk =
1
(|x| < 1)
1−x
Programmacode invoegen
De package listings biedt commando’s om programmacode met syntax highlighting in LATEX op te nemen:
• \lstinline{...} voor “inline” statements.
• \begin{lstlisting} ... \end{lstlisting} voor een paragraaf met code.
• \lstinputlisting{bestandsnaam} voegt een compleet bestand in.
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
55/57
Programmacode invoegen
56/57
Met het commando \lstset kunnen we de opmaak van programmacode aanpassen:
\lstset{language=Java,
basicstyle=\color{black}\ttfamily,
commentstyle=\color{green}\it\ttfamily,
keywordstyle=\color{blue}\bf\ttfamily,
showstringspaces=false,
frame=single, % rand om de paragraaf
backgroundcolor=\color{white}
}
Er worden veel talen ondersteund, onder andere Basic, C, C++, Delphi, Fortran, HTML, Java, Mathematica, Matlab, Pascal, Perl, PHP, SAS, SQL, TeX, VBScript, XML.
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie
Referenties
57/57
Voor vragen of speciale wensen verwijzen we naar
• De voorbeelden op de studentenlaptops (zie Start Menu, MiKTeX 2.9, Documentation).
• het LATEX boek van Leslie Lamport (denk wel 2e editie!)
• dictaat nummer 2541 met de Nederlandstalige handleiding van P. v. Oostrum (deze staat ook op de studentenlaptops geïnstalleerd),
• de uitgedeelde source-file van het LATEX bestand.
• WWW: http://www.win.tue.nl/latex
Faculteit Wiskunde en Informatica
MiKTEX en LATEX Introductie