% -> commentaar

% De documentclass 'article' is de beste voor bijna elke situatie.
\documentclass{article}

% Packages:
\usepackage[a4paper]{geometry} 
\usepackage[dutch]{babel} % Juiste afbreekregels en dergelijke!
\usepackage{parskip} % Alinea's beginnen links uitgelijnd en er staat een lege regel tussen alinea's.
\usepackage{amsthm, amsmath, amssymb, textcomp} % Wiskundige symbolen e.d.
\usepackage{color} % Kleuren
\usepackage{enumerate} % Voor opsommingen
\usepackage{hyperref} % Voor het weergeven van hyperlinks die klikbaar zi
\usepackage{natbib}

\bibliographystyle{plain}
%Hier begint het echte document
\begin{document}

\title{\LaTeX-cursus week 5 (Handleiding)}
\author{\TeX niCie \\[1mm] Commissie van \mbox{A--Es}kwadraat}
\date{\today} % Voeg automatisch de datum in

\maketitle % Hier wordt de titel ingevoegd (\title, \author, \date)

\tableofcontents % Inhoudsopgave

\newpage % Zodat de rest op een nieuwe pagina begint

\section{Inleiding} %Articles zijn ingedeeld in sections
Dit is de handleiding horende bij de \LaTeX -cursus van \mbox{A--Es}kwadraat. Kijk allereerst deze handleiding door. Het is slim om meteen de broncode van deze handleiding erbij te houden, zodat je een idee krijgt hoe een \LaTeX -code eruit ziet. Ga vervolgens aan de slag met de opdrachten van het werkblad. Het is de bedoeling dat je bij het maken van deze opdrachten gaat zoeken in de broncode van de handleiding en eventueel op internet. Verder zul je waarschijnlijk een aantal keer iets fout doen, omdat je \emph{ergens in je code} iets net verkeerd doet. Dit is bewust de opzet van deze workshop, omdat je later bij het gebruik van \LaTeX\ hier gegarandeerd mee te maken gaat krijgen en het dus belangrijk is om dit op te kunnen lossen. Onthoud verder ook dat er meestal meerdere manieren zijn om iets weer te geven, met telkens net een iets andere lay-out. Het is vaak een kwestie van keuze wat je fijner vindt.

\section{Document classes}
Een \LaTeX-bestand begint altijd met een document class. Standaard is dit \verb|\documentclass{article}|. Vorige week hebben we echter gezien dat je ook \verb|\documentclass{beamer}| kunt gebruiken. Nu zijn er nog meer document classes. De meest gebruikte zijn verder \textit{report} en \textit{book}.
\subsection{Report}
De \textit{report} document class is voor uitgebreidere verslagen en dus ideaal voor papers of scripties. Waar je bij \textit{article} voor je structuur begon met een \verb|\section{}|, begint een \textit{report} met een \verb|\chapter{}|. Een \textit{chapter} begint altijd een nieuwe pagina. In tegenstelling tot een \textit{article} wordt bij een \textit{report} ook van de titel een losse pagina gemaakt. Verder kun je in \textit{reports} appendices toevoegen met het commando \verb|\appendix|.
\subsection{Book}
Als je een boek of PhD-thesis aan het schrijven bent, is de document class \textit{book} ideaal. Deze biedt dezelfde voordelen als een \textit{report} ten opzichte van \textit{article}, plus nog dat er op elke pagina een header komt met het paginanummer en de naam van het hoofdstuk. Bovendien is een \textit{book} standaard tweezijdig. Dit betekent dat de even pagina's meer naar links zijn uitgelijnd en de oneven pagina's meer naar rechts, om zo de verloren ruimte door de vouw van de binding tegen te gaan.
\subsection{Opties}
Elke document class kent ook meerdere opties (\textit{schuingedrukt} zijn de standaardopties):
\begin{itemize}
	\item \textit{\texttt{10pt}}, \texttt{11pt}, \texttt{12pt}:  standaard lettergrootte van het document
	\item \textit{\texttt{a4paper}}, \texttt{a5paper}, ...: grootte van het document
	\item \texttt{fleqn}, \texttt{leqno}: lijnt de formules links uit (ipv gecentreerd), zet het getal van vergelijking links (ipv rechts)
	\item \texttt{twocolumn}: maakt het hele document standaard in een twee-kolommenformaat (kan ook met \verb|\usepackage{multicol}| en de \textit{multicol}-environment)
	\item \texttt{twoside}, \texttt{oneside}: houdt wel of geen rekening met dubbelzijdig afdrukken (marges even en oneven pagina's verschillend). Let op: dit zorgt er niet voor dat je printer ook dubbelzijdig print, dat moet je bij de printer zelf instellen.
	\item \texttt{landscape}: landschapmodus
\end{itemize}

\section{Inhoudsopgave, list of figures, list of tables}
\label{toc}
Bij grote documenten (scripties of PhD-thesis bijvoorbeeld) is het nodig om een inhoudsopgave te maken. Dit doet \LaTeX automatisch met het commando \verb|\tableofcontents|. Op dezelfde manier kun je een lijst met figuren of tabellen maken, met respectievelijk \verb|\listoffigures| en \verb|\listoftables|. Let wel op dat je het \LaTeX-bestand minstens twee keer moet bouwen om de inhoudsopgave gevuld te krijgen.

\section{Appendices}
Als je in een \textit{report} of \textit{book} appendices toe wilt voegen, dan gebruik je \'e\'enmalig het commando \verb|\appendix|. Deze zet je dan v\'o\'or de chapter waar je appendix (of chapters met appendices) komt:
\begin{verbatim}
	\appendix
	\chapter{Eerste appendix}
	\chapter{Tweede appendix}
\end{verbatim}

In een \textit{article} kun je trouwens ook appendices toevoegen. Dat zet je \verb|\appendix| voor de section waar je appendix komt.

\section{Bewijzen}
\LaTeX kan ook goed met bewijzen omgaan. Hiervoor moet je wel eerst de package \texttt{amsthm} inladen. Er zijn twee stappen nodig om een bewijs te gebruiken. Eerst moet je defini\"eren wat voor een soort bewijs er komt (Bewijs, Definitie, Gevolg...) als volgt:
\begin{verbatim}
\newtheorem{typebewijs}{Bewijs}
\end{verbatim}
waarbij \texttt{typebewijs} de naam is die je intern in je \LaTeX-document gebruikt voor dit type. \LaTeX definieert dan een environment genaamd \texttt{typebewijs}. Dan moet je de inhoud van je bewijs geven:
\begin{verbatim}
\begin{typebewijs}
	Hier komt het bewijs
\end{typebewijs}
\end{verbatim}

\section{Listings}
Een listing kun je gebruiken om broncode van programmeertalen in \LaTeX te zetten. Gebruik hiervoor de package \texttt{listings}. Je kunt ofwel je code direct typen, dat doe je in een environment \texttt{lstlisting}. Je kunt ook broncode uit een extern bestand importeren:
\verb|\lstinputlisting{broncode.c}|. Er zijn verschillende opties beschikbaar, waaronder:
\begin{itemize}
	\item \texttt{language}: de programmeertaal (bijvoorbeeld \verb|language=C| voor C of \verb|language={[Sharp]C}| voor C\#)
	\item \texttt{firstline=..}, \texttt{lastline=..}: begin- en eindlijn als je broncode importeert uit een bestand.
\end{itemize}

\section{Hyperlinks}
\label{sec:hyperref}
\LaTeX biedt ook de optie om links in je bestand te zetten, dankzij de package \texttt{hyperref}. Als je deze package inlaadt, dan worden automatisch alle referenties naar figuren, tabellen en secties, en de hele inhoudsopgave, veranderd naar interne links. Erg handig! Je kunt ook zelf links toevoegen:
\begin{itemize}
	\item Interne links: \verb|\hyperref[naam_label]{Text voor link}|
	\item Externe links: \verb|\href{http://www.a-es2.nl}{Text voor link}|
	\item URL's: \verb|\url{http://www.a-es2.nl}| (als je de URL zelf wilt laten zien)
\end{itemize}
Standaard komen er lelijke gekleurde boxen rond je links. Deze kun je weghalen met de optie \texttt{hidelinks} bij het laden van de package: \verb|\usepackage[hidelinks]{hyperref}|

\section{Document opbouwen uit verschillende .tex-bestanden}
	Voor grote projecten is het sterk aangeraden om je bronbestand op te splitsen in verschillende .tex-bestanden. Dan zet je alle stijlcommando's en gebruikte packages allemaal in het main-bestand, zodanig dat je je volledig kunt focussen op het schrijven van inhoud in de andere .tex-bestanden.
	
	Dit kan het makkelijkst met de package \texttt{subfiles}. Dan zet je in je \textit{main}-bestand het volgende commando op de plek waar je je bestand wilt importeren (bijvoorbeeld hoofdstuk 1): \verb|\subfile{chapter1}|.

Nu maak je het tweede bestand, chapter1.tex, aan. Deze moet er als volgt uitzien:
\begin{verbatim}
\documentclass[main.tex]{subfiles}
\begin{document}
	Zet hier alles in van hoofdstuk 1
\end{document}
\end{verbatim}
Op deze manier kun je ook je subbestanden apart compileren om te kijken of er geen syntaxfouten inzitten. Je hoeft in je subbestanden dus niet opnieuw de packages te importeren.

\section{Bibliografie}
Bij het schrijven van wetenschappelijke verslagen en papers is het nodig andermans werk (correct) te citeren. \LaTeX\ heeft hiervoor een aantal hulpmiddelen die dit automatisch voor je doen.

Hieronder zie je een voorbeeld van een bibliografie:

\framebox{
\begin{minipage}{\textwidth}

\begin{thebibliography}{100}
\bibliographystyle{plain}
\bibitem[Lamport(1989)]{lamport86}
  Leslie Lamport,
  \emph{\LaTeX: a document preparation system}.
  Addison Wesley, Massachusetts,
  2nd edition,
  1986.
  
\bibitem[Goosens, et~al(1993)]{goosens93}
  Goossens, M., Mittelbach, F., and Samarin, A.
  \emph{The {\LaTeX} Companion}. 
  Addison Wesley, Massachusetts,
  1993.
  
\end{thebibliography}

\end{minipage}
}

\subsection{Binnen \LaTeX}
Je kan handmatig referenties toevoegen met behulp van de environmen. Het voorbeeld hierboven kan je met deze code maken:

\begin{verbatim}
\begin{thebibliography}{lamport86}
\bibitem{lamport86}
  Leslie Lamport,
  \emph{\LaTeX: a document preparation system}.
  Addison Wesley, Massachusetts,
  2nd edition,
  1986.
\bibitem{goosens93}
  Goossens, M., Mittelbach, F., and Samarin, A.
  \emph{The {\LaTeX} Companion}. 
  Addison Wesley, Massachusetts,
  1993.
\end{bibliography}
\end{verbatim}

Het argument achter \verb|\begin{thebibliography}| vertelt \LaTeX\ wat de langste referentie is.

Je kan ze dan met behulp van het \verb|\cite{}| commando gebruiken. Zo kan je gemakkelijk refereren naar het paper waar \LaTeX\ het levenslicht zag \cite{lamport86} of naar een boek waarin alles uitgelegd is \cite{goosens93}. Door gebruik te maken van het \verb|hyperref|-package (sectie \ref{sec:hyperref}) worden je referenties automatisch hyperlinks waar je op kan klikken.

\subsection{Bib\TeX}
Voor een paar papers is de bovenstaande methode prima, maar met erg veel bronnen wordt het een heel typwerk. Daar komt Bib\TeX\ om de hoek kijken. Bib\TeX\ staat los van \LaTeX, maar zorgt ervoor dat de bronnen zoals hierboven staan automatisch gegenereerd worden.

Je hebt hiervoor een apart bestand nodig, die \verb|.bib| als extensie heeft. Bijvoorbeeld \verb|mijnbronnen.bib|. De bovenstaande bronnen zien er in het \verb|.bib|-bestand als volgt uit:

\begin{verbatim}
@book{lamport86 ,
     author =    "Leslie Lamport" ,
     title =     "\LaTeX: A Document Preparation System" ,
     publisher = "Addison--Wesley Pub.\ Co." ,
     year =      "1986" ,
     address =   "Reading, MA" 
}

@book{goossens93,
    author    = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
    title     = "The LaTeX Companion",
    year      = "1993",
    publisher = "Addison-Wesley",
    address   = "Reading, Massachusetts"
}
\end{verbatim}

De naam achter het apestaartje geeft het type bron aan. Zo heb je ook \verb|@article| voor een wetenschappelijk artikel, \verb|@masterthesis| voor een masterscriptie en \verb|@inproceedings| voor \emph{Conference Proceedings}. Bib\TeX\ maakt de bronnen dan volgens bepaalde standaarden op.

Definieer bovenaan je document de \emph{style} van de bibliografie. \verb|\bibliographystyle{plain}| geeft een alfabetische bronvermelding, \verb|\bibliographystyle{unsrt}| geeft ze op volgorde van voorkomen. Andere stijlen zijn onder andere \verb|alpha| en \verb|nature|.

De daadwerkelijke bronvermelding zet je op zijn plaats met \verb|\bibliography{mijnbronnen}|, waarbij \verb|mijnbronnen.bib| in dezelfde map moet staan als je \verb|.tex|-bestand. Zie hier het voorbeeld:

\framebox{
\begin{minipage}{\textwidth}

\bibliography{mijnbronnen}

\end{minipage}
}


Voor Bib\TeX\ moet je vaker dan 1 keer je document \verb|pdflatex|-en. De volgorde is als volgt:

\begin{itemize}
\item \verb|pdflatex document.tex|
\item \verb|bibtex document|
\item \verb|pdflatex document.tex|
\item \verb|pdflatex document.tex|
\end{itemize}

Dit heeft ermee te maken dat \verb|pdflatex| een document alleen van boven naar onder kan lezen. Voor referenties is het daarom nodig om een administratie bij te houden bij elke run van \verb|pdflatex|.

%\subsection{Natbib}
%De \verb|Natbib|-package is een uitbreiding op Bib\TeX\ en ondersteunt een aantal extra stijlen. %Door bijvoorbeeld de \verb|bibliographystyle|  \verb|plainnat| te kiezen, krijg je dezelfde lijst als hiervoor
%
%Hiermee kan je ook papers in de tekst citeren met de naam van de auteur. Zo heeft \citet{bibgoossens93} een goed boek geschreven over \LaTeX, dat bedacht is door \citeauthor{biblamport86} in \citeyear{lamport86}. Dit is bereikt met \verb|\citet{}|, \verb|\citeauthor{}| en \verb|\citeyear{}|.

\subsection{Referenties beheren}
Veel \emph{reference managers} bieden de mogelijkheid om je opgeslagen bronnen te exporteren naar een Bib\TeX-bestand. Ook vind je op veel websites de mogelijkheid om de bron te exporteren naar Bib\TeX.

Niet alle bronnen die in je \verb|.bib|-bestand staan, hoef je te gebruiken. Alle bronnen die je niet citeert worden automatisch uit je bibliografie gefilterd. Mocht je een bron toch willen toevoegen zonder er in je tekst naar te refereren, dan kan je het \verb|\nocite{}| commando gebruiken.

\end{document}
