diff options
author | Camil Staps | 2016-06-13 12:07:21 +0200 |
---|---|---|
committer | Camil Staps | 2016-06-13 12:07:21 +0200 |
commit | 7614203889c638de76e2b917a5c78001cead968b (patch) | |
tree | 6c4c7b7dbd0d40b15e12ebc6686283c2ccff733f | |
parent | prove (diff) |
Alle bomen toegevoegd
-rw-r--r-- | Makefile | 11 | ||||
-rw-r--r-- | app-trees.tex | 25 | ||||
-rw-r--r-- | defstate.tex | 2 | ||||
-rw-r--r-- | explanation.tex | 9 | ||||
-rw-r--r-- | rule-defs.tex | 2 | ||||
-rw-r--r-- | smurf.sty | 2 | ||||
-rw-r--r-- | tree.tex | 17 | ||||
-rw-r--r-- | werkstuk.tex | 6 |
8 files changed, 51 insertions, 23 deletions
@@ -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 @@ -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} |