MiKTEX en L A TEX Introductie Marko Boon 8 september 2004 /k 1/67
LAT E X L A TEX is een systeem om documenten te maken met een hoge kwaliteit wat typografie betreft. Het wordt vooral gebruikt voor technischwetenschappelijke en/of grote documenten, maar kan in principe voor vrijwel elke vorm van publiceren gebruikt worden. /k 2/67
LAT E X L A TEX is een systeem om documenten te maken met een hoge kwaliteit wat typografie betreft. Het wordt vooral gebruikt voor technischwetenschappelijke en/of grote documenten, maar kan in principe voor vrijwel elke vorm van publiceren gebruikt worden. L A TEX is geen tekstverwerker! L A TEX stimuleert juist om de nadruk te leggen op de juiste inhoud i.p.v. het uiterlijk. /k 2/67
MiKT E X L A TEX is platformonafhankelijk. Dat betekent dat je op elke computer, met elk operating system, L A TEX kunt draaien. MiKTEX is een implementatie van L A TEX voor Windows. /k 3/67
Introductie /k 4/67
Introductie = 6 A : J A N L A TEX editor: WinEdt /k 5/67
Introductie = 6 A : J A N = J A N, A L E? A 1 @ A F A @ A J B E A @ L E DVI previewer: Yap /k 6/67
Introductie = 6 A : J A N = J A N, A L E? A 1 @ A F A @ A J B E A @ L E @ L E F I 2 I J 5? H E F J F I PostScript viewer: GSView /k 7/67
Introductie = 6 A : J A N = J A N, A L E? A 1 @ A F A @ A J B E A @ L E @ L E F I 2 I J 5? H E F J F I F @ B = J A N 2 H J = > A,? K A J. H = J F @ B PDF viewer: Adobe (Acrobat) Reader /k 8/67
Introductie = J A N, A L E? A 1 @ A F A @ A J B E A @ L E @ L E F I = 6 A : J A N F @ B = J A N 2 H J = > A,? K A J. H = J F @ B F I F @ B 2 I J 5? H E F J F I /k 9/67
De LAT E X taal L A TEX commando s beginnen altijd met een backslash: \ /k 10/67
De LAT E X taal L A TEX commando s beginnen altijd met een backslash: \ verplichte argumenten van een commando staan tussen accolades: { } /k 10/67
De LAT E X taal L A TEX commando s beginnen altijd met een backslash: \ verplichte argumenten van een commando staan tussen accolades: { } optionele argumenten van een commando staan tussen rechte haken: [ ] /k 10/67
De LAT E X taal L A TEX 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: % /k 10/67
De LAT E X taal L A TEX 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: % L A TEX verzorgt zelf de spatiëring (net als HTML). /k 10/67
De LAT E X taal L A TEX 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: % L A TEX verzorgt zelf de spatiëring (net als HTML). met de commando s \begin{ } en \end{ } geef je environments aan, bijvoorbeeld \begin{itemize} \begin{enumerate} \item eerste punt \item eerste punt \item tweede punt \item tweede punt \item derde punt \item derde punt \end{itemize} \end{enumerate} /k 10/67
Een.tex bestand \documentclass[opties]{documentklasse} % preamble \begin{document} % document \end{document} /k 11/67
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} /k 12/67
LaTeX aanroepen /k 13/67
LaTeX aanroepen /k 14/67
LaTeX aanroepen /k 15/67
Yap aanroepen /k 16/67
Yap aanroepen /k 17/67
Foutafhandeling \documentclass[12pt]{article} \usepackage[dutch]{babel} \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} /k 18/67
Foutafhandeling /k 19/67
Foutafhandeling /k 20/67
Foutafhandeling /k 21/67
Foutafhandeling /k 22/67
LAT E X gerelateerde programma s WinEdt editor Yap DVI previewer GSView PS previewer Designer EPS Plaatjes maken /k 23/67
WinEdt /k 24/67
WinEdt New LaTeX document /k 25/67
WinEdt /k 26/67
Veelgebruikte packages a4wide amsmath babel gebruikt kleinere marges zodat je meer tekst op één pagina kwijt kunt. bevat L A TEX commando s voor geavanceerde wiskundige symbolen en commando s. laadt afbreekregels voor een bepaalde taal. epic, eepic gebruikt voor geavanceerde tekeningen. europs laadt het Euro symbool:. fancyhdr fleqn graphicx hyperref mathtime hiermee kun je kop- en voetteksten maken. lijnt wiskundige formules links uit. definieert een commando om plaatjes in te laden. voegt interactiviteit (hyperlinks, bookmarks) toe. laadt het Y&Y /k MathTime lettertype. 27/67
WinEdt /k 28/67
WinEdt /k 29/67
Voert L A TEX uit op het huidige document. Als geen fouten worden gevonden, wordt de DVI file geopend in Yap. Opent Yap met de aangemaakte DVI file. converteert DVI in PostScript. opent de PostScript file in GSView. voert PDFL A TEX op het huidige document. opent het PDF document in Adobe Reader. opent Yap gaat direct naar de cursorpositie in WinEdt. start BibTEX(for bibliografieën). maakt een alfabetisch register. verwijdert alle gegenereerde hulpbestanden (DVI, LOG, PDF, BIB,...). Alleen het PostScript bestand wordt niet geopend. /k 30/67
WinEdt /k 31/67
WinEdt /k 32/67
WinEdt /k 33/67
Yap /k 34/67
Yap double-click on text for inverse search /k 35/67
dvips! /k 36/67
GSView /k 37/67
WinEdt Mathematical symbols /k 38/67
WinEdt /k 39/67
WinEdt Jump to line Line numbering on/off Wrapping on/off Line / block selection mode Spelling check on/off /k 40/67
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 /k 41/67
Labels en referenties /k 42/67
Labels en referenties \tableofcontents maakt een inhoudsopgave aan /k 42/67
Labels en referenties \tableofcontents maakt een inhoudsopgave aan \label{ } maakt een label, meestal gebruikt in paragrafen, formules, plaatjes, tabellen, opsommingen etc. /k 42/67
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. /k 42/67
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. /k 42/67
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. /k 42/67
LAT E X packages In de preamble van het document worden externe packages ingeladen. In deze packages staan commando s die standaard L A TEX niet kent. Voorbeelden: Commando Package Functionaliteit \EURofc europs Toont het symbool \includegraphics graphicx voegt een extern plaatje in \printindex makeidx maakt een alfabetische referentielijst \lstlisting listings environment voor programmacode Sinds MiKTEX 2.4 worden packages die nog niet geïnstalleerd zijn, automatisch gedownload en alsnog geïnstalleerd. /k 43/67
LAT E X tabellen Met behulp van de tabular environment kunnen we tabellen maken: \begin{center} \begin{tabular}{ l l l } \hline Commando & Package & Functionaliteit \\ \hline \verb \EURofc & europs & Toont het \EURofc{} sym \\ \verb \includegraphics & graphicx & plaatje \\ \verb \printindex & makeidx & referentielijst \\ \verb \lstlisting & listings & programmacode \\ \hline \end{tabular} \end{center} /k 44/67
Plaatjes invoegen Ondersteunde bestandsformaten: EPS PDF JPG GIF PNG L A TEX ja nee ja nee ja PDFL A TEX 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 kunnen we Micrographx Designer gebruiken. Kopieer/Plak objecten in Designer en exporteer naar "EPS no header or preview". Gebruik EPS2PDF (op je bureaublad) om EPS naar PDF te converteren. werkt niet automatisch. Dit wordt afgeraden. /k 45/67
Micrografx Designer /k 46/67
Micrografx Designer /k 47/67
Micrografx Designer /k 48/67
Plaatjes invoegen /k 49/67
Plaatjes invoegen In de preamble: \usepackage{graphicx} /k 49/67
Plaatjes invoegen In de preamble: \usepackage{graphicx} Op de plek van het plaatje: \includegraphics[width=0.7\linewidth]{filename} Gebruike de bestandsnaam van het plaatje zonder extensie! L A TEX zal automatisch de EPS nemen, PDFL A TEX zal de PDF nemen. /k 49/67
Plaatjes invoegen Je kunt een figure environment gebruiken om zwevende figuren te maken. L A TEX 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}. /k 50/67
Plaatjes invoegen WinEdt heeft een handige plug-in om plaatjes in te voegen: /k 51/67
Plaatjes invoegen WinEdt heeft een handige plug-in om plaatjes in te voegen: /k 52/67
Plaatjes invoegen WinEdt heeft een handige plug-in om plaatjes in te voegen: /k 53/67
Plaatjes invoegen WinEdt heeft een handige plug-in om plaatjes in te voegen: /k 54/67
Plaatjes invoegen WinEdt heeft een handige plug-in om plaatjes in te voegen: Position: Here, Top (of next page) Remove absolute file path remove file extension /k 55/67
Plaatjes invoegen Let op: Externe figuren zullen wel in het PostScript en PDF bestand geëmbed worden, maar niet in het DVI bestand! /k 56/67
Wiskunde Omgevingen voor wiskunde: /k 57/67
Wiskunde Omgevingen voor wiskunde: $... $ wiskunde binnen doorlopende tekst (inline). /k 57/67
Wiskunde Omgevingen voor wiskunde: $... $ wiskunde binnen doorlopende tekst (inline). \[... \] wiskunde in een aparte paragraaf. /k 57/67
Wiskunde 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 /k 57/67
Wiskunde 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 /k 57/67
Wiskunde Voorbeeld 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*} /k 58/67
Wiskunde Voorbeeld 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 lim = 1 x 0 x x k 1 = 1 x k=0 ( x < 1) /k 58/67
Zelf commando s definiëren Met het commando \newcommand (of \renewcommand als het commando reeds bestaat) kun je een nieuw commando definiëren: \newcommand{\lm}{\lim_{x \rightarrow 0}}... \[ \lm \frac{\sin x}{x} = 1 \] /k 59/67
Zelf commando s definiëren Met het commando \newcommand (of \renewcommand als het commando reeds bestaat) kun je een nieuw commando definiëren: \newcommand{\lm}{\lim_{x \rightarrow 0}}... \[ \lm \frac{\sin x}{x} = 1 \] Een commando met argument(en) definiëren gaat alsvolgt: \newcommand{\lm}[1]{\lim_{x \rightarrow #1}}... \[ \lm{\infty} \frac{\sin x}{x} = 0 \] /k 59/67
Zelf commando s definiëren Met het commando \newcommand (of \renewcommand als het commando reeds bestaat) kun je een nieuw commando definiëren: \newcommand{\lm}{\lim_{x \rightarrow 0}}... \[ \lm \frac{\sin x}{x} = 1 \] Een commando met argument(en) definiëren gaat alsvolgt: \newcommand{\lm}[1]{\lim_{x \rightarrow #1}}... \[ \lm{\infty} \frac{\sin x}{x} = 0 \] sin x lim x x = 0 /k 59/67
Programmacode invoegen De package listings biedt commando s om programmacode met syntax highlighting in L A TEX op te nemen: \lstlisting{...} voor inline statements. \begin{lstlisting}... \end{lstlisting} voor een paragraaf met code. \lstinputlisting{bestandsnaam} voegt een compleet bestand in. /k 60/67
Programmacode invoegen 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. /k 61/67
Programmacode invoegen Als alternatief voor lstset kun je opties meegeven: \definecolor{myyellow}{rgb}{1.00,1.00,0.50} \begin{lstlisting}[language=pascal, backgroundcolor=\color{myyellow}] readln(n); for i := 1 to N do begin writeln(random) end \end{lstlisting} /k 62/67
Programmacode invoegen Als alternatief voor lstset kun je opties meegeven: \definecolor{myyellow}{rgb}{1.00,1.00,0.50} \begin{lstlisting}[language=pascal, backgroundcolor=\color{myyellow}] readln(n); for i := 1 to N do begin writeln(random) end \end{lstlisting} readln(n); for i := 1 to N do begin writeln(random) end /k 62/67
Een PDF presentatie maken met LAT E X De package tuepdfscreen kan gebruikt worden om Powerpoint-achtige presentaties te geven, maar dan met PDF bestanden. Belangrijk: TU/ePDFScreen kan alleen maar gebruikt worden met PDFL A TEX, niet met L A TEX! Gedetailleerde informatie over het gebruik van TU/ePDFScreen vind je in het bestand C:\MiKTeX\localtexmf\examples\presentatie\slides.tex /k 63/67
Een PDF presentatie maken met LAT E X /k 64/67
Een PDF presentatie maken met LAT E X 1. zorg ervoor dat je document door PDFL A TEX gecompileerd kan worden. Dit betekent dat je alle EPS plaatjes naar PDF geconverteerd moet hebben. /k 64/67
Een PDF presentatie maken met LAT E X 1. zorg ervoor dat je document door PDFL A TEX gecompileerd kan worden. Dit betekent dat je alle EPS plaatjes naar PDF geconverteerd moet hebben. 2. Voeg de volgende regels toe: \RequirePackage[T1]{fontenc} %voor TU/e lettertype \usepackage{tuepdfscreen} /k 64/67
Een PDF presentatie maken met LAT E X 1. zorg ervoor dat je document door PDFL A TEX gecompileerd kan worden. Dit betekent dat je alle EPS plaatjes naar PDF geconverteerd moet hebben. 2. Voeg de volgende regels toe: \RequirePackage[T1]{fontenc} %voor TU/e lettertype \usepackage{tuepdfscreen} 3. geef een achtergrondplaatje aan met \overlay{file} /k 64/67
Een PDF presentatie maken met LAT E X 1. zorg ervoor dat je document door PDFL A TEX gecompileerd kan worden. Dit betekent dat je alle EPS plaatjes naar PDF geconverteerd moet hebben. 2. Voeg de volgende regels toe: \RequirePackage[T1]{fontenc} %voor TU/e lettertype \usepackage{tuepdfscreen} 3. geef een achtergrondplaatje aan met \overlay{file} 4. gebruik de slide of slidetop environments om de tekst in verschillende slides te verdelen. /k 64/67
Een PDF presentatie maken met LAT E X \documentclass{article} \begin{document} \section{wiskunde} \begin{eqnarray*} \lim_{x \rightarrow 0} \frac{\sin x}{x} &=& 1\\ \pause \sum_{k=0}^\infty x^k &=& \frac{1}{1-x} ( x < 1) \end{eqnarray*} \end{document} /k 65/67
Een PDF presentatie maken met LAT E X \documentclass{article} \RequirePackage[T1]{fontenc} \usepackage{tuepdfscreen} \overlay{tuebgkuk} \begin{document} \begin{slide} \section{wiskunde} \begin{eqnarray*} \lim_{x \rightarrow 0} \frac{\sin x}{x} &=& 1\\ \pause \sum_{k=0}^\infty x^k &=& \frac{1}{1-x} ( x < 1) \end{eqnarray*} \end{slide} \end{document} /k 66/67
Referenties Voor vragen of speciale wensen verwijzen we naar het L A TEX 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 L A TEX bestand. e-mailadres: marko@win.tue.nl (Marko Boon). WWW: http://www.win.tue.nl/latex De voorbeelden in C:\MiKTeX\localtexmf\examples op de studentenlaptops. /k 67/67