summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2016-06-13 12:07:21 +0200
committerCamil Staps2016-06-13 12:07:21 +0200
commit7614203889c638de76e2b917a5c78001cead968b (patch)
tree6c4c7b7dbd0d40b15e12ebc6686283c2ccff733f
parentprove (diff)
Alle bomen toegevoegd
-rw-r--r--Makefile11
-rw-r--r--app-trees.tex25
-rw-r--r--defstate.tex2
-rw-r--r--explanation.tex9
-rw-r--r--rule-defs.tex2
-rw-r--r--smurf.sty2
-rw-r--r--tree.tex17
-rw-r--r--werkstuk.tex6
8 files changed, 51 insertions, 23 deletions
diff --git a/Makefile b/Makefile
index 55aca7f..cb3d1d4 100644
--- a/Makefile
+++ b/Makefile
@@ -3,16 +3,23 @@ TEXOPTS:=
DOC:=werkstuk voorstel
DEP:=$(filter-out voorstel.tex,$(wildcard *.tex))
PDF:=$(addsuffix .pdf,$(DOC))
+TREE:=$(wildcard tree-*.tex)
+TREEPDF:=$(addsuffix .pdf,$(basename $(TREE)))
all: $(PDF)
voorstel.pdf: voorstel.tex
$(TEX) $(TEXOPTS) $(basename $@)
+ $(TEX) $(TEXOPTS) $(basename $@)
+
+$(TREEPDF): %.pdf: %.tex tree.tex
+ lualatex "\def\filename{$<}\input{tree}"
+ mv tree.pdf $@
-%.pdf: %.tex $(DEP)
+werkstuk.pdf: %.pdf: %.tex $(DEP) $(TREEPDF)
$(TEX) $(TEXOPTS) $(basename $@)
$(TEX) $(TEXOPTS) $(basename $@)
clean:
- $(RM) -v $(foreach d,$(DOC),$(addprefix $(d).,aux bbl blg dvi fdb_latexmk fls log nav out toc pdf snm vrb))
+ $(RM) -v $(foreach d,$(DOC) tree,$(addprefix $(d).,aux bbl blg dvi fdb_latexmk fls fmt log nav out toc pdf snm vrb)) $(TREEPDF)
diff --git a/app-trees.tex b/app-trees.tex
index 3322a02..d3cb663 100644
--- a/app-trees.tex
+++ b/app-trees.tex
@@ -1,14 +1,15 @@
-\newgeometry{margin=15mm,bottom=22mm}
+% vim: set spelllang=nl:
+\section{Afleidingsbomen}
+\label{sec:app:trees}
+
+\def\makecaption#1#2{%
+ \thispagestyle{empty}%
+ \null\vfill\captionof{figure}{#1\label{#2}}
+}
+
\begin{landscape}
- \section{Afleidingsbomen}
- \label{sec:app:trees}
- \scriptsize
- \scalebox{0.5}{
- $$
- \begin{prooftree}
- \input{tree-gen-lambda}
- \end{prooftree}
- $$}
-
-
+ \includepdf[landscape,pagecommand={\makecaption{Afleidingsboom voor het buitenste programma voor strings met lengte $0$}{fig:tree:lambda}}]{tree-gen-lambda.pdf}
+ \includepdf[landscape,pagecommand={\makecaption{Afleidingsboom voor het buitenste programma voor strings met lengte $n\ge1$}{fig:tree:bootstrap}}]{tree-gen-bootstrap.pdf}
+ \includepdf[landscape,pagecommand={\makecaption{Afleidingsboom voor het binnenste programma voor strings met lengte $1$}{fig:tree:bootstrap-base}}]{tree-gen-bootstrap-base.pdf}
+ \includepdf[landscape,pagecommand={\makecaption{Afleidingsboom voor het binnenste programma voor strings met lengte $n>1$}{fig:tree:bootstrap-step}}]{tree-gen-bootstrap-step.pdf}
\end{landscape}
diff --git a/defstate.tex b/defstate.tex
index 78da137..975c04f 100644
--- a/defstate.tex
+++ b/defstate.tex
@@ -29,7 +29,7 @@ $\str~k$. Vervolgens definiƫren we $\putop:\SynString \times \SynString \times
waarde en een oude store een nieuwe store oplevert:
$$
- \put{\var}{\val}{\str} \var' =
+ \smurfput{\var}{\val}{\str} \var' =
\begin{cases}
\val & \text{als $\var'=\var$} \\
\str~\var' & \text{als $\var'\ne\var$}
diff --git a/explanation.tex b/explanation.tex
index 4771ffa..9d9a425 100644
--- a/explanation.tex
+++ b/explanation.tex
@@ -5,10 +5,11 @@
Om uit te leggen hoe dit programma precies functioneert, zullen we een
programma bekijken dat er identiek aan is, op de namen van de gebruikte
variabelen na. In de analyse zijn de namen kleiner gemaakt, zodat de
-bewijsbomen minder breed zouden worden. De variabele \texttt{program}
-correspondeert met \texttt{u}, \texttt{grow} met \texttt{v} en \texttt{shrink}
-met \texttt{w}. We zullen het programma opdelen in twee aparte programma's die
-elk apart bekeken kunnen worden zodat het geheel beter te begrijpen is.
+bewijsbomen minder breed zouden worden. De variabele \smurfinline{program}
+correspondeert met \smurfinline{u}, \smurfinline{grow} met \smurfinline{v} en
+\smurfinline{shrink} met \smurfinline{w}. We zullen het programma opdelen in
+twee aparte programma's die elk apart bekeken kunnen worden zodat het geheel
+beter te begrijpen is.
\input{explanation-outer}
\input{explanation-inner}
diff --git a/rule-defs.tex b/rule-defs.tex
index d77cff8..ee383a1 100644
--- a/rule-defs.tex
+++ b/rule-defs.tex
@@ -124,7 +124,7 @@ $$}
\def\rputnstree{
\trans
- {\pgm}{\ip}{(\stk'', \put\var\val\str)}
+ {\pgm}{\ip}{(\stk'', \smurfput\var\val\str)}
{\ip'}{\op}{\st}
\justifies
\trans
diff --git a/smurf.sty b/smurf.sty
index fd8b9cb..1f5502e 100644
--- a/smurf.sty
+++ b/smurf.sty
@@ -33,7 +33,7 @@
% Store
\def\putop{\mathit{put}}
-\def\put#1#2#3{\putop\left(#1, #2, #3\right)}
+\def\smurfput#1#2#3{\putop\left(#1, #2, #3\right)}
\def\emptystore{\varnothing}
% Syntax
diff --git a/tree.tex b/tree.tex
new file mode 100644
index 0000000..7a008fc
--- /dev/null
+++ b/tree.tex
@@ -0,0 +1,17 @@
+\documentclass[border=1cm]{standalone}
+
+\usepackage[shorthands=off,dutch]{babel}
+\usepackage{caption}
+
+\usepackage{prooftree}
+\usepackage{smurf}
+
+\begin{document}
+
+$$
+\begin{prooftree}
+ \input{\filename}
+\end{prooftree}
+$$
+
+\end{document}
diff --git a/werkstuk.tex b/werkstuk.tex
index eafa592..c4488f6 100644
--- a/werkstuk.tex
+++ b/werkstuk.tex
@@ -13,14 +13,16 @@
% Taakspecifieke packages
\usepackage{amsmath}
\usepackage{amsthm}
+\usepackage{array}
+\usepackage{caption}
\usepackage{enumitem}
+\usepackage{framed}
\usepackage{pdflscape}
+\usepackage{pdfpages}
\usepackage{prooftree}
\usepackage{stackrel}
\usepackage{syntax}
\usepackage{thmtools}
-\usepackage{framed}
-\usepackage{array}
\usepackage{clean}
\lstset{language=Clean,breaklines,tabsize=2,xleftmargin=\parindent}