Add abstract.
[matthijs/master-project/report.git] / Report.tex
index 40b94b66e55a0a0e9d858cd3f58195c68487a60d..576bad86b43bde16a03a2c90b28eaa507f95e4b1 100644 (file)
@@ -1,25 +1,87 @@
 \mainlanguage [en]
 \setuppapersize[A4][A4]
+% Setup doublesided layout and hide the page number (we will put in the
+% footer)
+\setuppagenumbering[alternative=doublesided,location=]
+% Enable interaction (clickable links), but don't use special link colors or a
+% bold style.
+\setupinteraction[state=start,color=,contrastcolor=,style=normal]
+% Enable interaction in the table of contents as well
+\setupcombinedlist[content][interaction=all]
+
+% Use bibtex
+\usemodule[bib]
+\setupbibtex[database=Report]
+\setuppublications[numbering=yes]
 
 \input Utils/Fonts
 \input Utils/Formats
 \input Utils/Lambda
 \input Utils/Shortcuts
 \input Utils/Metapost
+\input Utils/Fixme
 
 \usetypescript [Custom]
 
-% Use our custom typeface
+% Use our custom typeface in the body text, header, footer and
+% footnotes. There is probably a more elegant way to change the header
+% etc. fonts, but this works...
 \switchtotypeface [Custom] [10pt]
+\setupheader[style={\switchtotypeface[Custom][12pt]}]
+\setupfooter[style={\switchtotypeface[Custom][12pt]}]
+\setupfootnotes[style={\switchtotypeface[Custom][10pt]\italic},way=bypage]
+
+% Hide header texts and use the header space for text.
+\setuphead[chapter][header=high]
+
+% Insert completely empty pages to put new chapter headers on the right
+% page (i.e., not headers and footers).
+\definepagebreak[emptyright][yes,header,footer,right]
+\setuphead[chapter][page=emptyright]
+
+% Reducing margins (or actually, the spacing in which the margins end up) for
+% 2-up printing and increase font size slightly.
+%\setuplayout[backspace=2cm,width=middle,topspace=1cm,bottomspace=1cm,height=middle]
+%\switchtotypeface [Custom] [10pt]
 
 \starttext
-% TODO: Proper title page
-\title {From Haskell to Hardware - a Master's thesis}
-Matthijs Kooijman
+\startfrontmatter
+\input Titlepage
 
+\input Chapters/Abstract
 \completecontent
+
+% Force a page break so the headers will not apply to the last page of
+% the contents. This page break would otherwise be inserted by the
+% upcoming \chapter.
+\page[emptyright]
+% Set up a simple header and footer for the introduction
+\setupheadertexts[{\getmarking[chapter]}]
+\setupfootertexts[pagenumber]
+
 \input Chapters/Introduction
+% The stopfrontmatter inserts a non-empty right page, it seems
+\page[emptyright]
+\stopfrontmatter
+\startbodymatter
+% Set up a fancy header and footer for the normal chapters. We need to
+% repeat the footer since we switched matters.
+\def\Header{\getmarking[sectionnumber]~—~\getmarking[chapter]~—~\getmarking[section]}
+\setupheadertexts[][\Header]
+\setupfootertexts[pagenumber]
+
+\input Chapters/Context
 \input Chapters/HardwareDescription
+\input Chapters/Prototype
 \input Chapters/Normalization
-\input Chapters/State
+\input Chapters/Future
+\input Chapters/Conclusions
+\stopbodymatter
+\startbackmatter
+\completepublications
+% The stopbackmatter inserts a non-empty right page, it seems
+\page[emptyright]
+\stopbackmatter
 \stoptext
+
+% vim: set sw=2 sts=2 expandtab: