TU Delft MSc Geomatics thesis (scrbook)
The MSc Geomatics thesis template from TU Delft's 3D geoinformation group, built on KOMA-Script scrbook: front and back cover pages, title page with supervisors, abstract, acknowledgements, acronyms, chapters with LaTeX tips, figures, tables, algorithms and a plot, the programme's appendices on reproducibility and declared AI use, natbib references and a colophon.
- Category
- Thesis
- Document class
scrbook(scrbook.cls) — ships with TeX Live- Workflow
- Thesis / dissertation — submissions and revision rounds
- Author
- 3D Geoinformation group, Delft University of Technology (msc_geomatics_thesis_template)
- Source
- 3D Geoinformation group, Delft University of Technology (msc_geomatics_thesis_template)
- Licence
- scrbook.cls: LaTeX Project Public License (installed with TeX). The sample text is 3D Geoinformation group, Delft University of Technology (msc_geomatics_thesis_template)'s, provided for authors preparing a submission.
These are the publisher’s own files. This project starts from 3D Geoinformation group, Delft University of Technology (msc_geomatics_thesis_template)’s package for this publication — their manuscript, their scrbook.cls, their bibliography style — so what compiles here is what they would have given you.
3D Geoinformation group, Delft University of Technology (msc_geomatics_thesis_template) serves this exact file to Delft University of Technology. Check 3D Geoinformation group, Delft University of Technology (msc_geomatics_thesis_template)’s author pages for the current instructions.
Where this differs from the publisher’s download.
- Note: Published by TU Delft's 3D geoinformation group for the MSc Geomatics; its README says it is not an official or mandatory template, and the programme has no formal layout requirements. Edit the cover PDFs (or remove the two \includepdf lines) for your own thesis.
What you get
LICENSE.md· 7 KBREADME.md· 2 KBappendices/reproducibility.tex· 2 KBappendices/someumldia.tex· 216 Bappendices/useofai.tex· 896 Bback/colophon.tex· 489 Bchapters/introduction.tex· 11 KBchapters/relatedwork.tex· 4 KBcover/README.txt· 1 KBcover/cover_back.pdf· 413 KBcover/cover_front.pdf· 611 KBfigs/GDMC-LOGO12.jpg· 14 KBfigs/lod1.png· 2051 KBfigs/reproducibility_criteria.png· 244 KBfigs/sometriangles.png· 400 KBfigs/someuml.pdf· 40 KBfigs/tricat.pdf· 6 KBfigs/tud-3dgeoinfo-black.png· 169 KBfront/abstract.tex· 1 KBfront/acknow.tex· 1 KBfront/acronyms.tex· 426 Bfront/contents.tex· 92 Bfront/titleback.tex· 736 Bmysettings.tex· 1 KBplots/myplot.pdf· 14 KBrefs/gm.bst· 29 KBrefs/myreferences.bib· 904 Bthesis.tex— the file that is compiled · 3 KB
These become your files. Editing them afterwards changes your project and nothing else — a project owns its files from the moment it is made.
Source
LICENSE.md · 7 KB
Creative Commons Legal Code
CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.
README.md · 2 KB
# MSc Geomatics final thesis template (LaTeX)
A complete LaTeX template for the [MSc Geomatics](http://geomatics.tudelft.nl) thesis.
It contains all the parts that are required and is structured in such a way that most/all supervisors expect.
Observe that the MSc Geomatics at TU Delft has no formal requirements, how the document looks like (fonts, margins, headers, etc) is entirely up to you.
We basically took the template *KOMA-Script scrbook*, added the front/back matters (cover page, copyright, abstract, etc.), and gave examples for the insertion of figures, tables and algorithms.
> It is not an official template and it is not mandatory to use it. But we hope it will encourage everyone to use LaTeX for writing their thesis, and we also hope that it will *greatly discourage* some from using Word.
## How to get started with LaTeX?
Follow the [Overleaf's Learn LaTeX in 30min](https://www.overleaf.com/learn/latex/Learn_LaTeX_in_30_minutes) to start.
The only crucial thing missing from it is how to add references, for this we suggest you use "natbib" ([tutorial about bibliography management with natbib](https://www.overleaf.com/learn/latex/Bibliography_management_with_natbib)).
## Tips and tricks for LaTeX
The file `chapters/introduction.tex` contains several tips that are useful when using LaTeX, read its source code!
## Which software to use?
### Editors
- [Overleaf](https://www.overleaf.com/) (web; use your @tudelft.nl to get more features)
- [TeXnicCenter](http://www.texniccenter.org) (Windows)
- [TeXStudio](https://www.texstudio.org/) (Windows)
- [TeXshop](http://pages.uoregon.edu/koch/texshop/) (macOS; which is bundled with MacTeX)
### Managing references
- [Zotero](https://www.zotero.org/) (web + cross-platform)
- [JabRef](http://jabref.sourceforge.net) (cross-platform)
### Drawing figures
- [Inkscape](https://inkscape.org/en/) (cross-platform)
- [IPE](http://ipe.otfried.org/) (cross-platform; integrates LaTeX text; great for triangulation and geometric stuff)
- Adobe Illustrator (nice, but €€€)
### Drawing flowcharts
- [draw.io](https://www.draw.io/)
appendices/reproducibility.tex · 2 KB
\chapter{Reproducibility self-assessment}
To promote open science and research integrity, please include a statement about the reproducibility of your MSc thesis work.
Address the following points concisely:
\begin{itemize}
\item \textbf{Data Availability:} Is your data (that you used as input, or that you generated) publicly accessible? If yes, provide a persistent link (ideally a DOI, you can archive our datasets on GitHub or in the 4TU repository); if no, briefly explain why not (\eg\ privacy, licensing).
\item \textbf{Code Availability:} Is your code and analysis workflow openly available? This can be for instance via GitHub, OSF, Zenodo. Include the relevant link or DOI if applicable. It is suggested to follow those guidelines for reproducibility: \url{https://geomatics.bk.tudelft.nl/geogeeks/git/goodgit/}.
\item \textbf{Documentation:} Have you provided clear instructions, README files, or notebooks so others can understand and reproduce your results?
\item \textbf{Reproducibility Rating:} Self-rate your overall reproducibility using the following scale:
\begin{enumerate}
\item \textbf{High:} All data and code fully available, well-documented, and tested to reproduce main results.
\item \textbf{Moderate:} Most data and code available, basic documentation, some steps may require clarification.
\item \textbf{Low:} Limited or no data/code sharing, minimal documentation, reproduction unlikely.
\end{enumerate}
\end{itemize}
\section{Example statement:}
\begin{quote}
All data and analysis code related to this thesis are openly accessible at \texttt{[insert link]}. Complete instructions and a sample workflow are provided in the project README. I rate the reproducibility of this thesis as \textbf{High} according to the provided scale.
\end{quote}
\section{Examples of good MSc Geomatics repositories}
enumerate
\begin{enumerate}
\item \url{https://github.com/chenzhaiyu/points2poly}
\item \url{https://github.com/ellieroy/no-floors-inference-NL}
\item \url{https://github.com/NoortjevanderHorst/treegrowthmodelling}
\item \url{https://github.com/fabisser/stylesdf}
\end{enumerate}
appendices/someumldia.tex · 216 B
\chapter{Some UML diagrams}
\begin{figure}[h]
\centering
\includegraphics[width=0.7\linewidth]{figs/someuml.pdf}
\caption{The UML diagram of something that looks important.}
\label{fig:someuml}
\end{figure}
appendices/useofai.tex · 896 B
\chapter{Declaration of AI/LLM usage}
If you have used Artificial Intelligence (AI), Large Language Models (LLMs)---such as Claude, ChatGPT, Gemini, Copilot, or similar tools---at any stage of your MSc thesis, please explicitly disclose this in your thesis in an Appendix entitled ``Declaration of AI/LLM usage''.
Include the following details:
\begin{enumerate}
\item \textbf{What:} Specify which AI/LLM tool(s) you used (\eg\ ChatGPT, Claude, Copilot, etc.).
\item \textbf{How:} Briefly describe how you used these tools (\eg\ generating outlines, writing, coding, data analysis, editing, etc.).
\item \textbf{Extent:} Indicate the extent of their use (\eg\ occasional assistance, regular drafting, checking grammar, etc.).
\item \textbf{Ethics:} Confirm adherence to academic integrity and that AI/LLM did not generate falsified, fictional, or plagiarized content.
\end{enumerate}
back/colophon.tex · 489 B
%*******************************************************
% Colophon
%*******************************************************
\thispagestyle{empty}
\hfill{}
\vfill{}
\section*{Colophon}
\noindent This document was typeset using \LaTeX, using a modified the KOMA-Script class \texttt{scrbook} available at \url{https://github.com/tudelft3d/msc_geomatics_thesis_template}.
The main font is Palatino.
% The figures and diagrams were mostly drawn using IPE, PGF/Ti\emph{k}z and Omnigraffle.
chapters/introduction.tex · 11 KB
%!TEX root = ../thesis.tex
\chapter{Introduction}%
\label{chap:introduction}
This is a complete template for the MSc Geomatics thesis.
It contains all the parts that are required and is structured in such a way that most/all supervisors expect.
Observe that the MSc Geomatics at TU Delft has no formal requirements, how the document looks like (fonts, margins, headers, etc) is entirely up to you.
We basically took the template \texttt{KOMA-Script scrbook}, added the front/back matters (cover page, copyright, abstract, etc.), and gave examples for the insertion of figures, tables and algorithms.
\emph{It is not an official template and it is not mandatory to use it.}
But we hope it will encourage everyone to use \LaTeX\ for writing their thesis, and we also hope that it will \emph{discourage} some from using Word.
If you run into mistakes/problems/issues, please report them on the GitHub page, and if you fix an error, then please submit a pull request.
\url{https://github.com/tudelft3d/msc_geomatics_thesis_template}.
%%%
%
\section{How to get started with \LaTeX?}%
\label{sec:startlatex}
The only crucial thing missing from it is how to add references, for this we suggest you use \texttt{natbib}.
%%%
%
\section{Cross-references}
The command \texttt{autoref} can be used for chapters, sections, subsections, figures, tables, etc.
\autoref{chap:introduction} is what you are currently reading, and its name is \nameref{chap:introduction}.
\autoref{sec:code} is about pseudo-code, and \autoref{sec:pdf} is about something else.
The next chapter (\nameref{chap:rw}), is on page~\pageref{chap:rw}.
%%%
%
\section{Figures}%
\label{sec:figures}
Figure~\ref{fig:sometriangles} is a simple figure.
\begin{figure}
\centering
\includegraphics[width=0.8\linewidth]{figs/sometriangles.png}
\caption{One nice figure}%
\label{fig:sometriangles}
\end{figure}
Notice that all figures in your thesis should be referenced to in the main text.
The same applies to tables and algorithms.
It is recommended \emph{not} to force-place your figures (\eg\ with commands such as: \texttt{\textbackslash{}newpage} or by forcing a figure to be at the top of a page).
\LaTeX\ usually places the figures automatically rather well.
Only if at the end of your thesis you have small problem then can you solve them.
As shown in \autoref{fig:sidebyside},
\begin{figure}
\centering
\begin{subfigure}[b]{0.3\linewidth}
\centering
\includegraphics[angle=90,width=\linewidth]{figs/sometriangles.png}
\caption{}\label{fig:sidebyside:1}
\end{subfigure}%
\qquad %-- that adds some space between th 2 figures
\begin{subfigure}[b]{0.6\linewidth}
\centering
\includegraphics[width=\linewidth]{figs/lod1.png}
\caption{}\label{fig:sidebyside:2}
\end{subfigure}%
\caption[Shortened title for the list of figures]{Two figures side-by-side. (a) A triangulation of 2 polygons. (b) Something not related at all.}%
\label{fig:sidebyside}
\end{figure}
it is possible to have two figures (or more) side by side.
You can also refer to a subfigure: see \autoref{fig:sidebyside:2}.
\subsection[Shorter section name for the TOC]{Figures in PDF are possible and even encouraged!}%
\label{sec:pdf}
If you use Adobe Illustrator or \href{http://ipe7.sourceforge.net}{Ipe} you can make your figures vectorial and save them in PDF\@.
You include a PDF the same way as you do for a PNG, see \autoref{fig:pdffig},
\begin{figure}
\centering
\begin{subfigure}[b]{0.28\linewidth}
\centering
\includegraphics[page=1,width=\linewidth]{figs/tricat.pdf}
\caption{2 polygons}\label{fig:pdffig:1}
\end{subfigure}%
\qquad %-- that adds some space between th 2 figures
\begin{subfigure}[b]{0.28\linewidth}
\centering
\includegraphics[page=2,width=\linewidth]{figs/tricat.pdf}
\caption{CDT }\label{fig:pdffig:2}
\end{subfigure}%
\qquad %-- that adds some space between th 2 figures
\begin{subfigure}[b]{0.28\linewidth}
\centering
\includegraphics[page=3,width=\linewidth]{figs/tricat.pdf}
\caption{with colours}\label{fig:pdffig:3}
\end{subfigure}%
\caption{Three PDF figures.}%
\label{fig:pdffig}
\end{figure}
%%%
%
\section{How to add references?}
References are best handled using Bib\TeX.
See the \texttt{./refs/myreferences.bib} file.
A good cross-platform reference manager is \href{http://jabref.sourceforge.net/}{JabRef}.
\citet{Descartes37} wrote this and that~\citep{Voronoi08,Delaunay34}.
Instead of citing the whole paper~\citep{Delaunay34}, it is also possible to cite only the authors (\eg\ \citeauthor{Aurenhammer12}).
When adding references to your Bib\TeX file, it is good pratice to add the DOI of the paper.
For example, for a paper:
\begin{verbatim}
@book{Aurenhammer12,
author = {Aurenhammer, Franz and Klein, Rolf and Lee, Der-Tsai},
doi = {10.1142/8685},
publisher = {World Scientific},
title = {Voronoi diagrams and {D}elaunay triangulations},
year = {2012}
}
\end{verbatim}
Notice that if you use the field \texttt{doi} you shouldn't append \texttt{http://doi.org/}.
If you do this then you'll have clickable DOIs in your list of references.
%%%
%
\section{Footnotes}
Footnotes are a good way to write text that is not essential for the understanding of the text\footnote{but please do not overuse them}.
%%%
%
\section{Equations}
Equations and variables can be put inline in the text, but also numbered.
Let $S$ be a set of points in $\mathbb{R}^d$.
The Voronoi cell of a point $p \in S$, defined $\mathcal{V}_{p}$, is the set of points $x \in \mathbb{R}^d$ that are closer to $p$ than to any other point in $S$; that is:
\begin{equation}
\mathcal{V}_p = \{x \in \mathbb{R}^{d} \ | \ \|x-p\| \, \leq \, \|x-q\|, \ \forall \, q \in S \}.
\end{equation}
The union of the Voronoi cells of all generating points $p \in S$ form the Voronoi diagram of $S$, defined VD($S$).
%%%
%
\section{Tables}
The package \texttt{booktabs} permits you to make nicer tables than the basic ones in \LaTeX.
See for instance \autoref{tab:example}.
\begin{table}
\centering
\begin{tabular}{@{}lrrcrrc@{}} \toprule
& \multicolumn{2}{c}{3D model} && \multicolumn{2}{c}{input} \\
\cmidrule{2-3} \cmidrule{5-6}
& solids & faces && vertices & constraints \\
\toprule
\textbf{campus} & 370 & 4~298 && 5~970 & 3~976 \\
\textbf{kvz} & 637 & 6~549 && 8~951 & 13~571 \\
\textbf{engelen} & 1~629 & 15~870 && 23~732 & 15~868 \\
\bottomrule
\end{tabular}
\caption{Details concerning the datasets used for the experiments.}%
\label{tab:example}
\end{table}
%%%
%
\section{Plots}
The best way is to use \href{http://matplotlib.org}{matplotlib}, or its more beautiful version (\href{http://stanford.edu/~mwaskom/software/seaborn/index.html}{seaborn}).
With these, you can use Python to generate nice PDF plots, such as that in Figure~\ref{fig:myplot}.
\begin{figure}
\centering
\includegraphics[width=0.95\linewidth]{plots/myplot.pdf}
\caption{A super plot}%
\label{fig:myplot}
\end{figure}
In the folder \texttt{./plots/}, there is an example of a CSV file of the temperature of Delft, taken somewhere.
From this CSV, the plot is generated with the script \texttt{createplot.py}.
%%%
%
\section{Pseudo-code}%
\label{sec:code}
Please avoid putting code (Python, C++, Fortran) in your thesis.
Small excerpt are probably fine (for some cases), but do not put all the code in an appendix.
Instead, put your code somewhere online (\eg\ GitHub) and put \emph{pseudo-code} in your thesis.
The package \texttt{algorithm2e} is pretty handy, see for instance the \autoref{alg:walk}.
All your algorithms will be automatically added to the list of algorithms at the beginning of the document.
\begin{algorithm}
\KwIn{A Delaunay tetrahedralization $\mathcal{T}$, a starting tetrahedron $\tau$, and a query point $p$}
\KwOut{$\tau_r$: the tetrahedron in $\mathcal{T}$ containing $p$}
\BlankLine
\While{$\tau_r$ not found}
{
\For{$i \leftarrow 0$ \KwTo 3}
{
$\sigma_i \leftarrow$ get face opposite vertex $i$ in $\tau$\;
\If{Orient($\sigma_i, p$) $< 0$\nllabel{alg:walk:orient}}
{
$\tau \leftarrow$ get neighbouring tetrahedron of $\tau$ incident to $\sigma_i$\;
break\;
}
}
\If{$i=3$}
{
\tcp{all the faces of $\tau$ have been tested}
\Return{$\tau_r$ = $\tau$}
}
}
\caption[W\textsc{alk}]{W\textsc{alk} ($\mathcal{T}$, $\tau$, $p$)}%
\label{alg:walk}
\end{algorithm}
Observe that you can put labels on certain lines (with \texttt{\textbackslash nllabel{}}) and then reference them: on line~\ref{alg:walk:orient} of the \autoref{alg:walk} this is happening (see \LaTeX source code).
If you want to put some code (or XML for instance), use the package \texttt{listings}, \eg\ you can wrap it in a Figure so that it does not span over multiple pages.
\begin{figure}
\begin{footnotesize}
\begin{lstlisting}
<gml:Solid>
<gml:exterior>
<gml:CompositeSurface>
<gml:surfaceMember>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:pos>0.000000 0.000000 1.000000</gml:pos>
<gml:pos>1.000000 0.000000 1.000000</gml:pos>
<gml:pos>1.000000 1.000000 1.000000</gml:pos>
<gml:pos>0.000000 1.000000 1.000000</gml:pos>
<gml:pos>0.000000 0.000000 1.000000</gml:pos>
</gml:LinearRing>
</gml:exterior>
<gml:interior>
...
</gml:surfaceMember>
</gml:CompositeSurface>
</gml:interior>
</gml:Solid>
\end{lstlisting}
\end{footnotesize}
\caption{Some GML for a \texttt{gml:Solid}.}%
\label{fig:codegml}
\end{figure}
%%%
%
\section{Acronyms}%
\label{sec:acronyms}
If you want to have a list of acronyms you use in your thesis, use the \texttt{acronym} package.
The first time you speak about \ac{gis}, it will be spelled out.
Further use, \ac{gis}, you'll get the acronym plus a hyperlink to the list in the preambule of the thesis.
Add yours to \texttt{front/acronyms.tex}.
Notice that only these used are printed, \eg\ \ac{dt} and \ac{tin}.
%%%
%
\section{TODO notes}%
\label{sec:todo}
At P4 or for earlier drafts, it might be good to let the readers know that some part need more work.
Or that a figure will be added.
The package \href{http://tug.ctan.org/macros/latex/contrib/todonotes/todonotes.pdf}{todonotes} is perfect for this.
\todo{adding holders for figures is also possible}
A summary of all TODOs in the thesis can even be generated.
%%%
%
\section{Miscellaneous}%
\label{sec:misc}
In the file \texttt{mysettings.tex}, there are some handy shortcuts.
This is the way to properly write these abbreviations, \ie\ so that the spacing is correct.
And this is how you use an example, \eg\ like this.
You should use one \texttt{-} for an hyphen between words (`multi-dimensional'), two \texttt{--} for a range between numbers (`1990--1995'), and three \texttt{---} for a punctuation in a sentence (`I like---unlike my father---to build multi-dimensional models').
chapters/relatedwork.tex · 4 KB
%!TEX root = thesis.tex
\chapter{Related work; title which can span multiple lines}
\label{chap:rw}
Lemongrass frosted gingerbread bites banana bread orange crumbled lentils sweet potato black bean burrito green pepper springtime strawberry ginger lemongrass agave green tea smoky maple tempeh glaze enchiladas couscous. Cranberry spritzer Malaysian cinnamon pineapple salsa apples spring cherry bomb bananas blueberry pops scotch bonnet pepper spiced pumpkin chili lime eating together kale blood orange smash arugula salad. Bento box roasted peanuts pasta Sicilian pistachio pesto lavender lemonade elderberry Southern Italian citrusy mint lime taco salsa lentils walnut pesto tart quinoa flatbread sweet potato grenadillo.
Thai super chili apricot salad cocoa dark chocolate vitamin glow mushroom risotto red amazon pepper simmer udon noodles soba noodles dragon fruit cherries strawberry mango smoothie basil chickpea crust pizza cauliflower cherry bomb pepper mediterranean street style Thai basil tacos. Balsamic vinaigrette Indian spiced kimchi tofu sandwiches smoked tofu apple vinaigrette salty Thai sun pepper cayenne four-layer fiery fruit peach strawberry mango vegan Bulgarian carrot Italian linguine puttanesca green bowl lemon red lentil soup overflowing berries habanero golden one bowl.
Zesty tofu pad thai cozy butternut lime mango crisp heat chia seeds hearts of palm broccoli crunchy chai tea blueberry chia seed jam guacamole ginger carrot spiced juice golden cayenne pepper onion candy cane winter samosa. Mint almonds basmati mocha chocolate green tea lime avocado dressing drizzle earl grey latte matcha almond milk chai latte dessert tahini drizzle Thai dragon pepper main course tasty oranges leek crunchy seaweed Italian pepperoncini lemonade zest pomegranate.
Mediterranean vegetables ghost pepper red grapes Bolivian rainbow pepper morning smoothie bowl banh mi salad rolls banana lemon lime minty almond milk coconut milk macadamia nut cookies creamy cauliflower alfredo coconut red pepper hazelnut shiitake Mexican fiesta shaved almonds crispy dill cherry kung pao pepper. Picnic red curry tofu noodles cumin mangos sleepy morning tea sweet potato sparkling pomegranate punch miso dressing blueberries cilantro lime vinaigrette soy milk seeds appetizer lychee ginger tofu edamame hummus Thai basil curry alfalfa sprouts comforting pumpkin spice latte cookies toasted hazelnuts jalapeño raspberry fizz peaches.
Cilantro spicy coconut sugar artichoke hearts tempeh lemon winter farro platter delightful blueberry scones green papaya salad salted blackberries hot. Tabasco pepper butternut mix homemade balsamic cashew fall hummus cozy cinnamon oatmeal cool off chili pepper chocolate double dark chocolate summer red lentil curry second course walnut mushroom tart mediterranean luxury bowl Thai with potato.
Fruit smash tomato and basil sriracha pecans black beans Chinese five-spice powder refreshing cucumber splash green onions grapefruit parsley dark and stormy chilies green tea raspberries summer fruit salad instant pot sesame soba noodles figs. Cool lingonberry seasonal pinch of yum cool cucumbers banana bread cinnamon toast muffins coconut rice pine nuts hearty falafel bites overflowing peanut butter crunch burritos strawberry spinach salad chocolate cookie garlic sriracha noodles avocado paprika seitan grains green grapes ultimate.
Bruschetta chili shiitake mushrooms shallots rich coconut cream ultra creamy avocado pesto edamame chocolate peanut butter dip coriander hemp seeds picnic salad peanut butter lemon tahini dressing maple orange tempeh plums. Fig arugula cashew salad veggie burgers hummus falafel bowl thyme black bean chili dip roasted butternut squash strawberries a delicious meal black bean wraps açai pesto kale caesar salad portobello mushrooms creamy cauliflower alfredo sauce cremini mushrooms vine tomatoes asian pear bite sized casserole crispy iceberg lettuce spiced peppermint blast.
cover/README.txt · 1 KB
Notice that I would *not* include it for the online version you put on the TU Delft repository (same for the back cover), and use it only for the printed version.
The cover (front + back) must be manually updated with your details and own figure. To do so, you must either:
- edit the PDF directly in Illustrator;
- use the PSD files in Illustrator, edit them and export to PDF; (I haven't tested them, just exported from another software)
- use the afdesign file if you have a Mac and the software Affinity Designer (https://affinity.serif.com/en-gb/designer/); great but not free.
If your figure has lighter colours, use the black logo of TU Delft provided.
The font of the title is the same as the title font of the document: CMU Sans Serif (Computer Modern), which is freely available there: https://www.fontsquirrel.com/fonts/computer-modern
The official TUDelft template now recommends Roboto as font for titles, so if you want to be 100% TUDelft approved use this. There are no strict rules for cover pages.
Also, the blue used as the background could be changed for one of the 'approved' colours by the TU Delft style police: https://intranet.tudelft.nl/en/services/communication/manuals/tu-delft-corporate-design/colours/
cover/cover_back.pdf — binary, 413 KB
cover/cover_front.pdf — binary, 611 KB
figs/GDMC-LOGO12.jpg — binary, 14 KB
figs/lod1.png — binary, 2051 KB
figs/reproducibility_criteria.png — binary, 244 KB
figs/sometriangles.png — binary, 400 KB
figs/someuml.pdf — binary, 40 KB
figs/tricat.pdf — binary, 6 KB
figs/tud-3dgeoinfo-black.png — binary, 169 KB
front/abstract.tex · 1 KB
\chapter*{Abstract}
\emph{[Should fit on one page.]}
Lemongrass frosted gingerbread bites banana bread orange crumbled lentils sweet potato black bean burrito green pepper springtime strawberry ginger lemongrass agave green tea smoky maple tempeh glaze enchiladas couscous. Cranberry spritzer Malaysian cinnamon pineapple salsa apples spring cherry bomb bananas blueberry pops scotch bonnet pepper spiced pumpkin chili lime eating together kale blood orange smash arugula salad. Bento box roasted peanuts pasta Sicilian pistachio pesto lavender lemonade elderberry Southern Italian citrusy mint lime taco salsa lentils walnut pesto tart quinoa flatbread sweet potato grenadillo.
Lemongrass frosted gingerbread bites banana bread orange crumbled lentils sweet potato black bean burrito green pepper springtime strawberry ginger lemongrass agave green tea smoky maple tempeh glaze enchiladas couscous. Cranberry spritzer Malaysian cinnamon pineapple salsa apples spring cherry bomb bananas blueberry pops scotch bonnet pepper spiced pumpkin chili lime eating together kale blood orange smash arugula salad. Bento box roasted peanuts pasta Sicilian pistachio pesto lavender lemonade elderberry Southern Italian citrusy mint lime taco salsa lentils walnut pesto tart quinoa flatbread sweet potato grenadillo. front/acknow.tex · 1 KB
\chapter*{Acknowledgements}
Thanks to everyone, especially to my supervisors and my mum.
And obviously to the ones who made that great template.
Lemongrass frosted gingerbread bites banana bread orange crumbled lentils sweet potato black bean burrito green pepper springtime strawberry ginger lemongrass agave green tea smoky maple tempeh glaze enchiladas couscous. Cranberry spritzer Malaysian cinnamon pineapple salsa apples spring cherry bomb bananas blueberry pops scotch bonnet pepper spiced pumpkin chili lime eating together kale blood orange smash arugula salad. Bento box roasted peanuts pasta Sicilian pistachio pesto lavender lemonade elderberry Southern Italian citrusy mint lime taco salsa lentils walnut pesto tart quinoa flatbread sweet potato grenadillo.
Thai super chili apricot salad cocoa dark chocolate vitamin glow mushroom risotto red amazon pepper simmer udon noodles soba noodles dragon fruit cherries strawberry mango smoothie basil chickpea crust pizza cauliflower cherry bomb pepper mediterranean street style Thai basil tacos. Balsamic vinaigrette Indian spiced kimchi tofu sandwiches smoked tofu apple vinaigrette salty Thai sun pepper cayenne four-layer fiery fruit peach strawberry mango vegan Bulgarian carrot Italian linguine puttanesca green bowl lemon red lentil soup overflowing berries habanero golden one bowl.
\ldots
front/acronyms.tex · 426 B
\chapter*{Acronyms}
\begin{acronym}[UML]
\acro{dem}[DEM]{digital elevation model}
\acro{dt}[DT]{Delaunay triangulation}
\acro{gdal}[GDAL]{Geospatial Data Abstraction Library}
\acro{gis}[GIS]{geographical information system}
\acro{giss}[GISs]{geographical information systems}
\acro{gui}[GUI]{graphical user interface}
\acro{tin}[TIN]{triangular irregular network}
\acro{vd}[VD]{Voronoi diagram}
\end{acronym}front/contents.tex · 92 B
\setcounter{tocdepth}{2}
\tableofcontents
\listoffigures
\listoftables
\listofalgorithms
front/titleback.tex · 736 B
%!TEX root = ../thesis.tex
\thispagestyle{empty}
\hfill
\vfill
\noindent\myName: \textit{\myTitle} (\myGraduationYear)\\
\ccby\xspace This work is licensed under a Creative Commons Attribution 4.0 International License. To view a copy of this license, visit \url{http://creativecommons.org/licenses/by/4.0/}.
\vspace{3em}
\vspace{3em}
\noindent{} The work in this thesis was carried out in the:\\
\begin{tabular}{ll}
\parbox{0.3\textwidth}{\includegraphics[width=\linewidth]{\myGroupLogo}}
&
\parbox{0.7\textwidth}
{
\myGroup\\
\myUni\\
}
\end{tabular}
\vspace{3em}
\noindent
\begin{tabular}{ll}
Supervisors: & \mySupervisorOne \\
& \mySupervisorTwo \\
Co-reader: & \myCoreader\\
\end{tabular}
mysettings.tex · 1 KB
\newcommand{\myName}{Céline Dion}
\newcommand{\myTitle}{The optimal Delaunay triangulation of cheesy songs}
\newcommand{\myGroup}{3D geoinformation group}
\def\myGroupLogo{figs/tud-3dgeoinfo-black.png}
\newcommand{\myUni}{Delft University of Technology}
% \newcommand{\myGroup}{Geo-Database Management Centre}
% \def\myGroupLogo{figs/GDMC-LOGO12.jpg}
% \newcommand{\myUni}{Delft University of Technology}
\newcommand{\myGraduationYear}{2022}
\newcommand{\myGraduationMonth}{June}
\newcommand{\mySupervisorOne}{Prof.dr.\ Jan Smit}
\newcommand{\mySupervisorTwo}{Dr.\ Gerard Joling}
\newcommand{\myCoreader}{ir.\ Gordon Heuckeroth}
%-- for names for \autoref commands
\def\chapterautorefname{Chapter}
\def\sectionautorefname{Section}
\def\subsectionautorefname{Section}
\def\subsubsectionautorefname{Section}
\def\algorithmautorefname{Algorithm}
%-- for pdf metadata
\hypersetup{pdfauthor={\myName}}
\hypersetup{pdfkeywords={thesis, geomatics, TU Delft}}
\hypersetup{pdfsubject={A thesis submitted to the Delft University of Technology in partial fulfillment of the requirements for the degree of Master of Science in Geomatics}}
\hypersetup{pdftitle={\myTitle}}
%-- handy shortcuts
\newcommand{\ie}{i.e.}
\newcommand{\eg}{e.g.}
%-- colours for the hyperlinks
\definecolor{colorforlinks}{RGB}{27, 60, 131}
plots/myplot.pdf — binary, 14 KB
refs/gm.bst · 29 KB
%%
%% This is file `output2.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% merlin.mbs (with options: `ay,nat,nm-rvx,ed-rev,jnrlst,keyxyr,dt-beg,yr-par,note-yr,num-xser,isbn,issn,doi,xedn,nfss,')
%% ----------------------------------------
%% *** ***
%%
%% Copyright 1994-2004 Patrick W Daly
% ===============================================================
% IMPORTANT NOTICE:
% This bibliographic style (bst) file has been generated from one or
% more master bibliographic style (mbs) files, listed above.
%
% This generated file can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
% ===============================================================
% Name and version information of the main mbs file:
% \ProvidesFile{merlin.mbs}[2004/02/09 4.13 (PWD, AO, DPC)]
% For use with BibTeX version 0.99a or later
%-------------------------------------------------------------------
% This bibliography style file is intended for texts in ENGLISH
% This is an author-year citation style bibliography. As such, it is
% non-standard LaTeX, and requires a special package file to function properly.
% Such a package is natbib.sty by Patrick W. Daly
% The form of the \bibitem entries is
% \bibitem[Jones et al.(1990)]{key}...
% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
% The essential feature is that the label (the part in brackets) consists
% of the author names, as they should appear in the citation, with the year
% in parentheses following. There must be no space before the opening
% parenthesis!
% With natbib v5.3, a full list of authors may also follow the year.
% In natbib.sty, it is possible to define the type of enclosures that is
% really wanted (brackets or parentheses), but in either case, there must
% be parentheses in the label.
% The \cite command functions as follows:
% \citet{key} ==>> Jones et al. (1990)
% \citet*{key} ==>> Jones, Baker, and Smith (1990)
% \citep{key} ==>> (Jones et al., 1990)
% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
% \citeauthor{key} ==>> Jones et al.
% \citeauthor*{key} ==>> Jones, Baker, and Smith
% \citeyear{key} ==>> 1990
%---------------------------------------------------------------------
ENTRY
{ address
author
booktitle
chapter
doi
edition
editor
eid
howpublished
institution
isbn
issn
journal
key
month
note
number
organization
pages
publisher
school
series
title
type
volume
year
}
{}
{ label extra.label sort.label short.list }
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
}
STRINGS { s t}
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
{ ", " * write$ }
{ output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
'write$
{ add.period$ " " * write$ }
if$
}
if$
mid.sentence 'output.state :=
}
if$
s
}
FUNCTION {output}
{ duplicate$ empty$
'pop$
'output.nonnull
if$
}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
{ pop$ "empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}
FUNCTION {fin.entry}
{ add.period$
write$
newline$
}
FUNCTION {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
FUNCTION {new.sentence}
{ output.state after.block =
'skip$
{ output.state before.all =
'skip$
{ after.sentence 'output.state := }
if$
}
if$
}
FUNCTION {add.blank}
{ " " * before.all 'output.state :=
}
FUNCTION {date.block}
{
new.block
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
STRINGS {z}
FUNCTION {remove.dots}
{ 'z :=
""
{ z empty$ not }
{ z #1 #1 substring$
z #2 global.max$ substring$ 'z :=
duplicate$ "." = 'pop$
{ * }
if$
}
while$
}
FUNCTION {new.block.checkb}
{ empty$
swap$ empty$
and
'skip$
'new.block
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
{ "\emph{" swap$ * "}" * }
if$
}
FUNCTION {tie.or.space.prefix}
{ duplicate$ text.length$ #3 <
{ "~" }
{ " " }
if$
swap$
}
FUNCTION {capitalize}
{ "u" change.case$ "t" change.case$ }
FUNCTION {space.word}
{ " " swap$ * " " * }
% Here are the language-specific definitions for explicit words.
% Each function has a name bbl.xxx where xxx is the English word.
% The language selected here is ENGLISH
FUNCTION {bbl.and}
{ "and"}
FUNCTION {bbl.etal}
{ "et~al." }
FUNCTION {bbl.editors}
{ "editors" }
FUNCTION {bbl.editor}
{ "editor" }
FUNCTION {bbl.edby}
{ "edited by" }
FUNCTION {bbl.edition}
{ "edition" }
FUNCTION {bbl.volume}
{ "volume" }
FUNCTION {bbl.of}
{ "of" }
FUNCTION {bbl.number}
{ "number" }
FUNCTION {bbl.nr}
{ "no." }
FUNCTION {bbl.in}
{ "in" }
FUNCTION {bbl.pages}
{ "pages" }
FUNCTION {bbl.page}
{ "page" }
FUNCTION {bbl.chapter}
{ "chapter" }
FUNCTION {bbl.techrep}
{ "Technical Report" }
FUNCTION {bbl.mthesis}
{ "Master's thesis" }
FUNCTION {bbl.phdthesis}
{ "Ph.D. thesis" }
MACRO {jan} {"January"}
MACRO {feb} {"February"}
MACRO {mar} {"March"}
MACRO {apr} {"April"}
MACRO {may} {"May"}
MACRO {jun} {"June"}
MACRO {jul} {"July"}
MACRO {aug} {"August"}
MACRO {sep} {"September"}
MACRO {oct} {"October"}
MACRO {nov} {"November"}
MACRO {dec} {"December"}
MACRO {acmcs} {"ACM Computing Surveys"}
MACRO {acta} {"Acta Informatica"}
MACRO {cacm} {"Communications of the ACM"}
MACRO {ibmjrd} {"IBM Journal of Research and Development"}
MACRO {ibmsj} {"IBM Systems Journal"}
MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
MACRO {ieeetc} {"IEEE Transactions on Computers"}
MACRO {ieeetcad}
{"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
MACRO {ipl} {"Information Processing Letters"}
MACRO {jacm} {"Journal of the ACM"}
MACRO {jcss} {"Journal of Computer and System Sciences"}
MACRO {scp} {"Science of Computer Programming"}
MACRO {sicomp} {"SIAM Journal on Computing"}
MACRO {tocs} {"ACM Transactions on Computer Systems"}
MACRO {tods} {"ACM Transactions on Database Systems"}
MACRO {tog} {"ACM Transactions on Graphics"}
MACRO {toms} {"ACM Transactions on Mathematical Software"}
MACRO {toois} {"ACM Transactions on Office Information Systems"}
MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
MACRO {tcs} {"Theoretical Computer Science"}
FUNCTION {bibinfo.check}
{ swap$
duplicate$ missing$
{
pop$ pop$
""
}
{ duplicate$ empty$
{
swap$ pop$
}
{ swap$
pop$
}
if$
}
if$
}
FUNCTION {bibinfo.warn}
{ swap$
duplicate$ missing$
{
swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
""
}
{ duplicate$ empty$
{
swap$ "empty " swap$ * " in " * cite$ * warning$
}
{ swap$
pop$
}
if$
}
if$
}
STRINGS { bibinfo}
INTEGERS { nameptr namesleft numnames }
FUNCTION {format.names}
{ 'bibinfo :=
duplicate$ empty$ 'skip$ {
's :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}{ f{}}{ jj}"
format.name$
remove.dots
bibinfo bibinfo.check
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
numnames #2 >
{ "," * }
'skip$
if$
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
} if$
}
FUNCTION {format.names.ed}
{
format.names
}
FUNCTION {format.key}
{ empty$
{ key field.or.null }
{ "" }
if$
}
FUNCTION {format.authors}
{ author "author" format.names
}
FUNCTION {get.bbl.editor}
{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
FUNCTION {format.editors}
{ editor "editor" format.names duplicate$ empty$ 'skip$
{
"," *
" " *
get.bbl.editor
*
}
if$
}
FUNCTION {format.isbn}
{ isbn "isbn" bibinfo.check
duplicate$ empty$ 'skip$
{
new.block
"ISBN " swap$ *
}
if$
}
FUNCTION {format.issn}
{ issn "issn" bibinfo.check
duplicate$ empty$ 'skip$
{
new.block
"ISSN " swap$ *
}
if$
}
FUNCTION {format.doi}
{ doi "doi" bibinfo.check
duplicate$ empty$ 'skip$
{
new.block
"\doi{" swap$ * "}" *
}
if$
}
FUNCTION {format.note}
{
note empty$
{ "" }
{ note #1 #1 substring$
duplicate$ "{" =
'skip$
{ output.state mid.sentence =
{ "l" }
{ "u" }
if$
change.case$
}
if$
note #2 global.max$ substring$ * "note" bibinfo.check
}
if$
}
FUNCTION {format.title}
{ title
duplicate$ empty$ 'skip$
{ "t" change.case$ }
if$
"title" bibinfo.check
}
FUNCTION {format.full.names}
{'s :=
"" 't :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv~}{ll}" format.name$
't :=
nameptr #1 >
{
namesleft #1 >
{ ", " * t * }
{
s nameptr "{ll}" format.name$ duplicate$ "others" =
{ 't := }
{ pop$ }
if$
t "others" =
{
" " * bbl.etal *
}
{
numnames #2 >
{ "," * }
'skip$
if$
bbl.and
space.word * t *
}
if$
}
if$
}
't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {author.editor.key.full}
{ author empty$
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.full.names }
if$
}
{ author format.full.names }
if$
}
FUNCTION {author.key.full}
{ author empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ author format.full.names }
if$
}
FUNCTION {editor.key.full}
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.full.names }
if$
}
FUNCTION {make.full.names}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.full
{ type$ "proceedings" =
'editor.key.full
'author.key.full
if$
}
if$
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem[{" write$
label write$
")" make.full.names duplicate$ short.list =
{ pop$ }
{ * }
if$
"}]{" * write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}
FUNCTION {n.dashify}
{
't :=
""
{ t empty$ not }
{ t #1 #1 substring$ "-" =
{ t #1 #2 substring$ "--" = not
{ "--" *
t #2 global.max$ substring$ 't :=
}
{ { t #1 #1 substring$ "-" = }
{ "-" *
t #2 global.max$ substring$ 't :=
}
while$
}
if$
}
{ t #1 #1 substring$ *
t #2 global.max$ substring$ 't :=
}
if$
}
while$
}
FUNCTION {word.in}
{ bbl.in capitalize
" " * }
FUNCTION {format.date}
{ year "year" bibinfo.check duplicate$ empty$
{
"empty year in " cite$ * "; set to ????" * warning$
pop$ "????"
}
'skip$
if$
extra.label *
before.all 'output.state :=
" (" swap$ * ")" *
}
FUNCTION {format.btitle}
{ title "title" bibinfo.check
duplicate$ empty$ 'skip$
{
emphasize
}
if$
}
FUNCTION {either.or.check}
{ empty$
'pop$
{ "can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
{ bbl.volume volume tie.or.space.prefix
"volume" bibinfo.check * *
series "series" bibinfo.check
duplicate$ empty$ 'pop$
{ swap$ bbl.of space.word * swap$
emphasize * }
if$
"volume and number" number either.or.check
}
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
{ series field.or.null }
{ series empty$
{ number "number" bibinfo.check }
{ output.state mid.sentence =
{ bbl.number }
{ bbl.number capitalize }
if$
number tie.or.space.prefix "number" bibinfo.check * *
bbl.in space.word *
series "series" bibinfo.check *
}
if$
}
if$
}
{ "" }
if$
}
FUNCTION {format.edition}
{ edition duplicate$ empty$ 'skip$
{
output.state mid.sentence =
{ "l" }
{ "t" }
if$ change.case$
"edition" bibinfo.check
" " * bbl.edition *
}
if$
}
INTEGERS { multiresult }
FUNCTION {multi.page.check}
{ 't :=
#0 'multiresult :=
{ multiresult not
t empty$ not
and
}
{ t #1 #1 substring$
duplicate$ "-" =
swap$ duplicate$ "," =
swap$ "+" =
or or
{ #1 'multiresult := }
{ t #2 global.max$ substring$ 't := }
if$
}
while$
multiresult
}
FUNCTION {format.pages}
{ pages duplicate$ empty$ 'skip$
{ duplicate$ multi.page.check
{
bbl.pages swap$
n.dashify
}
{
bbl.page swap$
}
if$
tie.or.space.prefix
"pages" bibinfo.check
* *
}
if$
}
FUNCTION {format.journal.pages}
{ pages duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$
{ pop$ pop$ format.pages }
{
":" *
swap$
n.dashify
"pages" bibinfo.check
*
}
if$
}
if$
}
FUNCTION {format.journal.eid}
{ eid "eid" bibinfo.check
duplicate$ empty$ 'pop$
{ swap$ duplicate$ empty$ 'skip$
{
":" *
}
if$
swap$ *
}
if$
}
FUNCTION {format.vol.num.pages}
{ volume field.or.null
duplicate$ empty$ 'skip$
{
"volume" bibinfo.check
}
if$
number "number" bibinfo.check duplicate$ empty$ 'skip$
{
swap$ duplicate$ empty$
{ "there's a number but no volume in " cite$ * warning$ }
'skip$
if$
swap$
"(" swap$ * ")" *
}
if$ *
eid empty$
{ format.journal.pages }
{ format.journal.eid }
if$
}
FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
{ bbl.chapter }
{ type "l" change.case$
"type" bibinfo.check
}
if$
chapter tie.or.space.prefix
"chapter" bibinfo.check
* *
pages empty$
'skip$
{ ", " * format.pages * }
if$
}
if$
}
FUNCTION {format.booktitle}
{
booktitle "booktitle" bibinfo.check
emphasize
}
FUNCTION {format.in.ed.booktitle}
{ format.booktitle duplicate$ empty$ 'skip$
{
editor "editor" format.names.ed duplicate$ empty$ 'pop$
{
"," *
" " *
get.bbl.editor
", " *
* swap$
* }
if$
word.in swap$ *
}
if$
}
FUNCTION {format.thesis.type}
{ type duplicate$ empty$
'pop$
{ swap$ pop$
"t" change.case$ "type" bibinfo.check
}
if$
}
FUNCTION {format.tr.number}
{ number "number" bibinfo.check
type duplicate$ empty$
{ pop$ bbl.techrep }
'skip$
if$
"type" bibinfo.check
swap$ duplicate$ empty$
{ pop$ "t" change.case$ }
{ tie.or.space.prefix * * }
if$
}
FUNCTION {format.article.crossref}
{
word.in
" \cite{" * crossref * "}" *
}
FUNCTION {format.book.crossref}
{ volume duplicate$ empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
pop$ word.in
}
{ bbl.volume
capitalize
swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
}
if$
" \cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{
word.in
" \cite{" * crossref * "}" *
}
FUNCTION {format.org.or.pub}
{ 't :=
""
address empty$ t empty$ and
'skip$
{
t empty$
{ address "address" bibinfo.check *
}
{ t *
address empty$
'skip$
{ ", " * address "address" bibinfo.check * }
if$
}
if$
}
if$
}
FUNCTION {format.publisher.address}
{ publisher "publisher" bibinfo.warn format.org.or.pub
}
FUNCTION {format.organization.address}
{ organization "organization" bibinfo.check format.org.or.pub
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.block
crossref missing$
{
journal
"journal" bibinfo.check
emphasize
"journal" output.check
format.vol.num.pages output
}
{ format.article.crossref output.nonnull
format.pages output
}
if$
format.issn output
format.doi output
new.block
format.note output
fin.entry
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.date "year" output.check
date.block
format.btitle "title" output.check
crossref missing$
{ format.bvolume output
new.block
format.number.series output
new.sentence
format.publisher.address output
}
{
new.block
format.book.crossref output.nonnull
}
if$
format.edition output
format.isbn output
format.doi output
new.block
format.note output
fin.entry
}
FUNCTION {booklet}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.block
howpublished "howpublished" bibinfo.check output
address "address" bibinfo.check output
format.isbn output
format.doi output
new.block
format.note output
fin.entry
}
FUNCTION {inbook}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check
editor format.key output
}
{ format.authors output.nonnull
crossref missing$
{ "author and editor" editor either.or.check }
'skip$
if$
}
if$
format.date "year" output.check
date.block
format.btitle "title" output.check
crossref missing$
{
format.bvolume output
format.chapter.pages "chapter and pages" output.check
new.block
format.number.series output
new.sentence
format.publisher.address output
}
{
format.chapter.pages "chapter and pages" output.check
new.block
format.book.crossref output.nonnull
}
if$
format.edition output
crossref missing$
{ format.isbn output }
'skip$
if$
format.doi output
new.block
format.note output
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.bvolume output
format.number.series output
format.chapter.pages output
new.sentence
format.publisher.address output
format.edition output
format.isbn output
}
{ format.incoll.inproc.crossref output.nonnull
format.chapter.pages output
}
if$
format.doi output
new.block
format.note output
fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.bvolume output
format.number.series output
format.pages output
new.sentence
publisher empty$
{ format.organization.address output }
{ organization "organization" bibinfo.check output
format.publisher.address output
}
if$
format.isbn output
format.issn output
}
{ format.incoll.inproc.crossref output.nonnull
format.pages output
}
if$
format.doi output
new.block
format.note output
fin.entry
}
FUNCTION {conference} { inproceedings }
FUNCTION {manual}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
organization address new.block.checkb
organization "organization" bibinfo.check output
address "address" bibinfo.check output
format.edition output
format.doi output
new.block
format.note output
fin.entry
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.btitle
"title" output.check
new.block
bbl.mthesis format.thesis.type output.nonnull
school "school" bibinfo.warn output
address "address" bibinfo.check output
format.doi output
new.block
format.note output
fin.entry
}
FUNCTION {misc}
{ output.bibitem
format.authors output
author format.key output
format.date "year" output.check
date.block
format.title output
new.block
howpublished "howpublished" bibinfo.check output
format.doi output
new.block
format.note output
fin.entry
}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.btitle
"title" output.check
new.block
bbl.phdthesis format.thesis.type output.nonnull
school "school" bibinfo.warn output
address "address" bibinfo.check output
format.doi output
new.block
format.note output
fin.entry
}
FUNCTION {proceedings}
{ output.bibitem
format.editors output
editor format.key output
format.date "year" output.check
date.block
format.btitle "title" output.check
format.bvolume output
format.number.series output
new.sentence
publisher empty$
{ format.organization.address output }
{ organization "organization" bibinfo.check output
format.publisher.address output
}
if$
format.isbn output
format.issn output
format.doi output
new.block
format.note output
fin.entry
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title
"title" output.check
new.block
format.tr.number output.nonnull
institution "institution" bibinfo.warn output
address "address" bibinfo.check output
format.doi output
new.block
format.note output
fin.entry
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
author format.key output
format.date "year" output.check
date.block
format.title "title" output.check
format.doi output
new.block
format.note "note" output.check
fin.entry
}
FUNCTION {default.type} { misc }
READ
FUNCTION {sortify}
{ purify$
"l" change.case$
}
INTEGERS { len }
FUNCTION {chop.word}
{ 's :=
'len :=
s #1 len substring$ =
{ s len #1 + global.max$ substring$ }
's
if$
}
FUNCTION {format.lab.names}
{ 's :=
"" 't :=
s #1 "{vv~}{ll}" format.name$
s num.names$ duplicate$
#2 >
{ pop$
" " * bbl.etal *
}
{ #2 <
'skip$
{ s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{
" " * bbl.etal *
}
{ bbl.and space.word * s #2 "{vv~}{ll}" format.name$
* }
if$
}
if$
}
if$
}
FUNCTION {author.key.label}
{ author empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ author format.lab.names }
if$
}
FUNCTION {author.editor.key.label}
{ author empty$
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.lab.names }
if$
}
{ author format.lab.names }
if$
}
FUNCTION {editor.key.label}
{ editor empty$
{ key empty$
{ cite$ #1 #3 substring$ }
'key
if$
}
{ editor format.lab.names }
if$
}
FUNCTION {calc.short.authors}
{ type$ "book" =
type$ "inbook" =
or
'author.editor.key.label
{ type$ "proceedings" =
'editor.key.label
'author.key.label
if$
}
if$
'short.list :=
}
FUNCTION {calc.label}
{ calc.short.authors
short.list
"("
*
year duplicate$ empty$
short.list key field.or.null = or
{ pop$ "" }
'skip$
if$
*
'label :=
}
FUNCTION {sort.format.names}
{ 's :=
#1 'nameptr :=
""
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{ s nameptr
"{vv{ } }{ll{ }}{ f{ }}{ jj{ }}"
format.name$ 't :=
nameptr #1 >
{
" " *
namesleft #1 = t "others" = and
{ "zzzzz" * }
{ t sortify * }
if$
}
{ t sortify * }
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$
}
FUNCTION {sort.format.title}
{ 't :=
"A " #2
"An " #3
"The " #4 t chop.word
chop.word
chop.word
sortify
#1 global.max$ substring$
}
FUNCTION {author.sort}
{ author empty$
{ key empty$
{ "to sort, need author or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {author.editor.sort}
{ author empty$
{ editor empty$
{ key empty$
{ "to sort, need author, editor, or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ editor sort.format.names }
if$
}
{ author sort.format.names }
if$
}
FUNCTION {editor.sort}
{ editor empty$
{ key empty$
{ "to sort, need editor or key in " cite$ * warning$
""
}
{ key sortify }
if$
}
{ editor sort.format.names }
if$
}
FUNCTION {presort}
{ calc.label
label sortify
" "
*
type$ "book" =
type$ "inbook" =
or
'author.editor.sort
{ type$ "proceedings" =
'editor.sort
'author.sort
if$
}
if$
#1 entry.max$ substring$
'sort.label :=
sort.label
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {presort}
SORT
STRINGS { last.label next.extra }
INTEGERS { last.extra.num number.label }
FUNCTION {initialize.extra.label.stuff}
{ #0 int.to.chr$ 'last.label :=
"" 'next.extra :=
#0 'last.extra.num :=
#0 'number.label :=
}
FUNCTION {forward.pass}
{ last.label label =
{ last.extra.num #1 + 'last.extra.num :=
last.extra.num int.to.chr$ 'extra.label :=
}
{ "a" chr.to.int$ 'last.extra.num :=
"" 'extra.label :=
label 'last.label :=
}
if$
number.label #1 + 'number.label :=
}
FUNCTION {reverse.pass}
{ next.extra "b" =
{ "a" 'extra.label := }
'skip$
if$
extra.label 'next.extra :=
extra.label
duplicate$ empty$
'skip$
{ "{\natexlab{" swap$ * "}}" * }
if$
'extra.label :=
label extra.label * 'label :=
}
EXECUTE {initialize.extra.label.stuff}
ITERATE {forward.pass}
REVERSE {reverse.pass}
FUNCTION {bib.sort.order}
{ sort.label
" "
*
year field.or.null sortify
*
" "
*
title field.or.null
sort.format.title
*
#1 entry.max$ substring$
'sort.key$ :=
}
ITERATE {bib.sort.order}
SORT
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
"\begin{thebibliography}{" number.label int.to.str$ * "}" *
write$ newline$
"\providecommand{\natexlab}[1]{#1}"
write$ newline$
"\expandafter\ifx\csname urlstyle\endcsname\relax"
write$ newline$
" \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
write$ newline$
" \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
write$ newline$
}
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
EXECUTE {end.bib}
%% End of customized bst file
%%
%% End of file `output2.bst'.
refs/myreferences.bib · 904 B
@book{Descartes37,
Address = {Leyde},
Author = {Ren\'e Descartes},
Publisher = {Jan Maire},
Title = {Discours de la m\'ethode},
Year = {1637}
}
@article{Delaunay34,
Author = {Delaunay, Boris N.},
Journal = {Izvestia Akademia Nauk SSSR, Otdelenie Matematicheskii i Estestvennyka Nauk},
Pages = {793--800},
Title = {{S}ur la sph{\`e}re vide},
Volume = {7},
Year = {1934}
}
@book{Aurenhammer12,
author = {Aurenhammer, Franz and Klein, Rolf and Lee, Der-Tsai},
doi = {10.1142/8685},
publisher = {World Scientific},
title = {Voronoi diagrams and {D}elaunay triangulations},
year = {2012}
}
@article{Voronoi08,
Author = {Voronoi, G. M.},
Journal = {Journal f{\"u}r die Reine und Angewandte Mathematik},
Pages = {198--287},
Title = {{N}ouvelles applications des param{\`e}tres continus {\`a} la th{\'e}orie des formes quadratiques},
Volume = {134},
Year = {1908}
}
thesis.tex — the file that is compiled · 3 KB
\documentclass[10pt,a4paper,twoside,openright,fleqn,%
parskip=half,%
BCOR=5mm,DIV=10,footinclude=false%
numbers=noenddot,cleardoublepage=empty]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[sc]{mathpazo} %-- use Palatino font
\usepackage{amsmath,amssymb,amsthm}
\usepackage[round]{natbib}
\usepackage{subcaption}
\usepackage{xspace}
\usepackage[breaklinks=true,
colorlinks=true,
linktocpage=true,
allcolors=colorforlinks]{hyperref}
\usepackage{doi}
\usepackage[ruled,vlined,algochapter,linesnumbered]{algorithm2e}
\usepackage{calc}
\usepackage{ccicons}
\usepackage{xspace}
\usepackage{booktabs}
\usepackage[english]{babel}
\usepackage{listings}
\usepackage{scrhack} % ignore warnings about deprecated KOMA-Script
\usepackage[printonlyused,smaller,withpage]{acronym}
\usepackage[dvipsnames]{xcolor}
\usepackage{graphicx}
\usepackage{pdfpages}
\usepackage{todonotes}
\input{mysettings}
\setcapindent{1em} %-- for captions of Figures
% \setcounter{tocdepth}{\sectiontocdepth}
\subject{MSc thesis in Geomatics}
\title{Your paper}
\author{\myName}
\date{\myGraduationMonth\xspace\myGraduationYear}
\publishers{A thesis submitted to the Delft University of Technology in partial fulfillment of the requirements for the degree of Master of Science in Geomatics}
\begin{document}
%******************************************************************
% Frontmatter
%******************************************************************
\frontmatter
%******************************************************************
% The cover page
% (it needs to be manually edited and exported as a PDF)
% (see folder README.txt in folder 'cover')
% (I would not include it for the version you put in the repository)
%******************************************************************
\includepdf{cover/cover_front.pdf}
\cleardoublepage
\maketitle[3]
% \clearpage
\input{front/titleback}
\cleardoublepage
\include{front/abstract}
\include{front/acknow}
\clearpage
\include{front/contents}
\clearpage
\include{front/acronyms}
\cleardoublepage
%******************************************************************
% Mainmatter
%******************************************************************
\mainmatter
\include{chapters/introduction}
\include{chapters/relatedwork}
\appendix
%%%
\cleardoublepage
%-- *mandatory* appendix about the use of AI tools
\include{appendices/useofai}
%-- *mandatory* appendix about the reproducibility
\include{appendices/reproducibility}
%-- other examples of Appendix, not mandatory
\include{appendices/someumldia}
% *****************************************************************
% Backmatter
%******************************************************************
\backmatter
%- bibliography
\bibliographystyle{refs/gm}
\bibliography{refs/myreferences}
\clearpage
\include{back/colophon}
\cleardoublepage
\includepdf{cover/cover_back.pdf}
\end{document}
The first page, as this template compiles today. Click it to enlarge, and again to shrink. Open the file ↗