% -> 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}
\usepackage{caption}
\usepackage{booktabs}
\usepackage{fancyhdr}

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

\title{\LaTeX-cursus week 6 (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{Eigen commando's}
De afgelopen weken hebben we veel commando's gebruikt (\verb|\textbf|, \verb|\item|, \verb|\section|, \ldots) die standaard in \LaTeX zaten, maar ook speciale commando's waarvoor we extra packages moesten laden (\verb|\newtheorem|, \verb|\url|, \ldots). Soms wil je iets automatiseren wat in \LaTeX\ zelf niet kan. Hiervoor kan je dan een \emph{macro} schrijven, een eigen commando.

Een nieuw commando maak je met \verb|\newcommand|. We kunnen bijvoorbeeld een commando \verb|\aesnaam| defini\"eren, die automatisch ``A--Eskwadraat'' voluit schrijft:

\verb|\newcommand{\aesnaam}{A--Eskwadraat}|. 
\newcommand{\aesnaam}{A--Eskwadraat}

Gebruiken we nu \verb|\aesnaam|, dan verschijnt ``\aesnaam'' op die plek (zonder aanhalingstekens uiteraard, want die hebben we niet in het commando opgenomen).

Soms wil je een commando iets mee kunnen geven, zoals bijvoorbeeld bij \verb|\section| de naam van je sectie of bij \verb|\footnote| de tekst in de voetnoot. Dit doen we als volgt:

\begin{verbatim}
\newcommand{\eigenaar}[2]{Dit document is van #1 voor #2}
\end{verbatim}

De \verb|[2]| geeft aan dat \verb|\eigenaar| twee argumenten nodig heeft, die we in de definitie kunnen aanroepen met \verb|#1| en \verb|#2|. Op deze manier kan je tot 9 argumenten meegeven aan je commando. Het commando:

\verb|\eigenaar{mij}{jou}|

typen, dan krijgen we de tekst: ``Dit document is van mij voor jou''.

\section{Eigen environments}
Je kunt ook eigen omgevingen defini\"eren. Dit heeft de volgende syntax:

\verb|\newenvironment{naam}[num]{voor}{na}|

Hierin is \emph{naam} de naam van je omgeving, \emph{num} het aantal argumenten, \emph{voor} het begin van je omgeving en \emph{na} het einde van je omgeving.

\section{Captions}
Onderschriften bij figuren of tabellen (captions) kunnen op veel manieren worden aangepast met de package \texttt{caption}. Een caption bestaat uit drie elementen: het \textit{caption label} (``Figure 1''), de \textit{caption text} en de \textit{separator} die het label van de tekst scheidt (standaard ``:''). Standaard voorbeeld:
\begin{figure}[h!]
	\caption{Initial conditions with uniform distribution instead of Gaussian distribution. For clarity reasons, only 1 in 3 stars is plotted.}
\end{figure}\vspace*{-0.7cm}

De opties zijn onder anderen:
\begin{itemize}
	\item \texttt{format=hang}: laat de \textit{caption text} inspringen zodat het `hangt' onder de tekst van de eerste regel (zie onderstaand voorbeeld)
 	\item \texttt{width=..}: stelt de breedte van de caption in
 	\item \texttt{labelsep=$\langle$none, colon, endash of space$\rangle$}: verandert de \textit{separator} naar niets, een dubbele punt, een streepje (--) of een spatie
 	\item \texttt{labelfont=\{$\langle$font options$\rangle$\}}, \texttt{textfont=\{$\langle$font options$\rangle$\}}: verandert het lettertype. \texttt{font options} zijn: \texttt{bf} (vetgedrukt), \texttt{it} (schuin), \texttt{small}, en nog veel meer.
\end{itemize}
Uiteindelijk, met het commando\\ \verb|\usepackage[format=hang,labelfont=bf,textfont=it,labelsep=endash,width=0.7\textwidth]{caption}|\\ krijg je de volgende caption:
\begin{figure}[h!]
		\captionsetup{format=hang,labelfont=bf,textfont=it,labelsep=endash,width=0.7\textwidth}
		\caption{2D-plot of the orbits of the planets of the solar system using the VV method and $\Delta t = 12h$.}
\end{figure}\vspace*{-0.8cm}

\section{Paginamarges: geometry}
Met de package \texttt{geometry} kun je onder anderen de marges van de pagina aanpassen. Standaard zijn deze namelijk vrij groot. Opties van geometry:
\begin{itemize}
	\item \texttt{margin=..}: stelt de marge in (gelijk voor links, boven, rechts en onder)
	\item \texttt{left=..}, \texttt{top=..}, ...: stelt de grootte van de linker-, boven-, ...-marge
	\item \texttt{hmarginratio=1:1} zorgt ervoor dat linker- en rechtermarges gelijk zijn (als je alleen linker- of rechtermarge definieert)
	\item \texttt{columnsep=..}: als je een multi column layout hebt, dan stel je hiermee de afstand tussen de kolommen in
	\item \texttt{inner=..}, \texttt{outer=..}: alleen van toepassing voor tweezijdige documenten (reports en books), daar is namelijk niet sprake van een linker- en rechtermarge, maar van een binnen- en buitenmarge.
\end{itemize}

\section{Nog meer lengtes: setlength}
Er zijn nog heel veel meer lengtes die je aan kunt passen. Dit doe je vooral met het commando \verb|\setlength|. Een lengte heeft altijd een eenheid (\texttt{cm}, \texttt{mm}, \texttt{pt}...), of is relatief (\texttt{0.75\textbackslash textwidth}).
\begin{itemize}
	\item \textit{Inspringen van alinea's}: Als je in een lap tekst twee enters zet, dan begrijpt LaTeX dit als een nieuwe alinea. Automatisch wordt er dan ingesprongen, en geen extra regelafstand. De inspringing haal je weg met:\\\verb|\setlength{\parindent}{0cm}|
	\item \textit{Afstand tussen alinea's}: Hiervoor moet je \verb|\parskip| aanpassen. Om LaTeX wat ruimte te geven om de grootte wat aan te passen, kun je \texttt{plus..} en \texttt{minus..} gebruiken:\\\verb|\setlength{\parskip}{0.5cm}| of\\\verb|\setlength{\parskip}{1cm plus3mm minus4mm}|\\
	Merk op dat als je standaard geen inspringing wilt hebben en wel afstand tussen alinea, je makkelijker de package \texttt{parskip} kunt gebruiken. Dan hoef je ook niet te klooien met \verb|\setlength|.
	\item \textit{Kolommen}: je kunt de grootte van kolommen aanpassen, en de afstand ertussen (kan ook met geometry)\\\verb|\setlength{\columnwidth}{..}|\\\verb|\setlength{\columnsep}{..}|
	\item \textit{Afstand tussen }\texttt{item}\textit{s}: om de afstand tussen verschillende items in \texttt{itemize} of \texttt{enumerate} te veranderen, moet je elke keer net na \verb|\begin{itemize}| zowel de itemsep als parskip veranderen:\\\verb|\setlength{\itemsep}{0pt}|\\\verb|\setlength{\parskip}{0pt}|\\ Om dit niet elke keer te hoeven doen, kun je het beste een eigen environment maken hiermee.
	\item \textit{Rest van de regel vullen}: om de rest van de regel te vullen, kun je de commando's \verb|\hfill|, \verb|\dotfill| of \verb|\hrulefill| gebruiken (kan ook verticaal met \texttt{vfill}):\\\textit{All human beings are born free and equal in dignity and rights} \dotfill Article 1
	\item \textit{Handmatig extra witruimtes toevoegen}: Soms wil LaTeX echt niet dingen op de goede plek zetten. Als laatste redmiddel kun je de commando's \verb|\vspace{..}| en \verb|\hspace{..}| gebruiken. Dit is vaak handig met negatieve lengtes.
\end{itemize}

\section{Lettertypes}
\subsection{Lettertypes veranderen}
Het standaard LaTeX-lettertype, Computer Modern, is zeer herkenbaar. Soms wil je echter een wat persoonlijker lettertype gebruiken. Het algemene lettertype verander je zo:

Op \url{http://www.tug.dk/FontCatalogue/} kan je zien welke fonts \LaTeX\ allemaal heeft. Vaak is het voldoende om een package te laden, maar soms moet je het als volgt doen:

\begin{verbatim}
\renewcommand*{\familydefault}{nieuw lettertype}
\end{verbatim}
De naam van de lettertypes is wel apart in LaTeX. Standaard kun je onder anderen deze lettertypes gebruiken:
\begin{itemize}
	\item \texttt{\textbackslash rmdefault}: het standaard LaTeX-lettertype (dit is een \textit{serif}-lettertype, ook wel \textit{roman} genoemd. Ze zijn meestal beter te lezen op papier.)
	\item \texttt{\textbackslash sfdefault}: {\fontfamily{\sfdefault}\selectfont dit is een sans serif-lettertype, in dit geval Computer Modern Sans Serif. Deze lettertypes zijn beter te lezen op een scherm, of voor titels.}
	\item \texttt{\textbackslash ttdefault}: {\fontfamily{\ttdefault}\selectfont een monospace lettertype, waarbij elke letter dezelfde breedte heeft. Net zoals typemachines dus.}
	\item \texttt{ppl}: {\fontfamily{ppl}\selectfont het Palatino-lettertype, ook een serif (roman) lettertype. Merk op dat hier \textit{geen} \texttt{\textbackslash}~voor zit, het lettertype heet gewoon \texttt{ppl}.}
\end{itemize}

Het is ook mogelijk om maar delen van een document in een ander lettertype te zetten:
\begin{verbatim}
{\fontfamily{nieuw lettertype}\selectfont
...
}
\end{verbatim}
\subsection{Aparte stijl voor sections/subsections}
Soms is het wenselijk om alle kopjes (title, sections, subsections...) een aparte stijl te geven, of een apart lettertype. Hiervoor is de package \texttt{sectsty}. Als je bijvoorbeeld alle kopjes vetgedrukt in een sans serif lettertype wilt hebben, gebruik je in je preamble:
\begin{verbatim}
\allsectionsfont{\sffamily\bfseries}
\end{verbatim}

\section{Booktabs}
De \texttt{booktabs} package zorgt ervoor dat de standaard tabellen er een stuk beter uitzien. Horizontale lijnen zijn beter zichtbaar en het gebruik van verticale lijnen wordt vermeden. Met \verb|\toprule|, \verb|\cmidrule| en \verb|\bottomrule| worden de horizontale lijnen gemaakt.

Een voorbeeld van booktabs:

\begin{tabular}{llr}
\toprule
\multicolumn{2}{c}{Item} \\
\cmidrule(r){1-2}
Animal    & Description & Price (\$) \\
\midrule
Gnat      & per gram    & 13.65      \\
          & each        & 0.01       \\
Gnu       & stuffed     & 92.50      \\
Emu       & stuffed     & 33.33      \\
Armadillo & frozen      & 8.99       \\
\bottomrule
\end{tabular}

\end{document}

