Index: doc/theses/andrew_beach_MMath/Makefile
===================================================================
--- doc/theses/andrew_beach_MMath/Makefile	(revision f17fb7d941f4180ff6d7f86ca1188a320c6101dc)
+++ doc/theses/andrew_beach_MMath/Makefile	(revision 6a8208cbc93288ea3ca61f2a04619465c12cf317)
@@ -4,4 +4,5 @@
 BUILD=out
 TEXSRC=$(wildcard *.tex)
+FIGSRC=$(wildcard *.fig)
 BIBSRC=$(wildcard *.bib)
 STYSRC=$(wildcard *.sty)
@@ -13,4 +14,7 @@
 BASE= ${DOC:%.pdf=%}
 
+RAWSRC=${TEXSRC} ${BIBSRC} ${STYSRC} ${CLSSRC}
+FIGTEX=${FIGSRC:%.fig=${BUILD}/%.tex}
+
 ### Special Rules:
 
@@ -18,5 +22,5 @@
 
 ### Commands:
-LATEX=TEXINPUTS=${TEXLIB} pdflatex -halt-on-error -output-directory=${BUILD}
+LATEX=TEXINPUTS=${TEXLIB} latex -halt-on-error -output-directory=${BUILD}
 BIBTEX=BIBINPUTS=${BIBLIB} bibtex
 GLOSSARY=INDEXSTYLE=${BUILD} makeglossaries-lite
@@ -26,5 +30,6 @@
 all: ${DOC}
 
-${BUILD}/${DOC}: ${TEXSRC} ${BIBSRC} ${STYSRC} ${CLSSRC} Makefile | ${BUILD}
+# The main rule, it does all the tex/latex processing.
+${BUILD}/${BASE}.dvi: ${RAWSRC} ${FIGTEX} Makefile | ${BUILD}
 	${LATEX} ${BASE}
 	${BIBTEX} ${BUILD}/${BASE}
@@ -33,6 +38,11 @@
 	${LATEX} ${BASE}
 
-${DOC}: ${BUILD}/${DOC}
-	cp $< $@
+# Convert xfig output to tex. (Generates \special declarations.)
+${FIGTEX}: ${BUILD}/%.tex: %.fig | ${BUILD}
+	fig2dev -L eepic $< > $@
+
+# Step through dvi & postscript to handle xfig specials.
+%.pdf : ${BUILD}/%.dvi
+	dvipdf $^ $@
 
 ${BUILD}:
Index: doc/theses/andrew_beach_MMath/exception-hierarchy.fig
===================================================================
--- doc/theses/andrew_beach_MMath/exception-hierarchy.fig	(revision 6a8208cbc93288ea3ca61f2a04619465c12cf317)
+++ doc/theses/andrew_beach_MMath/exception-hierarchy.fig	(revision 6a8208cbc93288ea3ca61f2a04619465c12cf317)
@@ -0,0 +1,28 @@
+#FIG 3.2  Produced by xfig version 3.2.7b
+Landscape
+Center
+Inches
+Letter
+100.00
+Single
+-2
+1200 2
+6 3600 2027 3825 2522
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3600 2050 3825 2050
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3
+	1 1 1.00 45.00 90.00
+	 3675 2050 3675 2275 3825 2275
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3
+	1 1 1.00 45.00 90.00
+	 3675 2275 3675 2500 3825 2500
+-6
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 2175 2050 2400 2050
+4 1 0 50 -1 5 12 0.0000 2 120 1200 3000 2100 arithmetic\001
+4 2 0 50 -1 5 12 0.0000 2 165 1080 2100 2100 exception\001
+4 0 0 50 -1 5 12 0.0000 2 120 1080 3900 2100 underflow\001
+4 0 0 50 -1 5 12 0.0000 2 120 960 3900 2325 overflow\001
+4 0 0 50 -1 5 12 0.0000 2 120 1200 3900 2550 zerodivide\001
Index: doc/theses/andrew_beach_MMath/features.tex
===================================================================
--- doc/theses/andrew_beach_MMath/features.tex	(revision f17fb7d941f4180ff6d7f86ca1188a320c6101dc)
+++ doc/theses/andrew_beach_MMath/features.tex	(revision 6a8208cbc93288ea3ca61f2a04619465c12cf317)
@@ -88,18 +88,5 @@
 Consider the following hierarchy of exceptions:
 \begin{center}
-\setlength{\unitlength}{4000sp}%
-\begin{picture}(1605,612)(2011,-1951)
-\put(2100,-1411){\vector(1, 0){225}}
-\put(3450,-1411){\vector(1, 0){225}}
-\put(3550,-1411){\line(0,-1){225}}
-\put(3550,-1636){\vector(1, 0){150}}
-\put(3550,-1636){\line(0,-1){225}}
-\put(3550,-1861){\vector(1, 0){150}}
-\put(2025,-1490){\makebox(0,0)[rb]{\LstBasicStyle{exception}}}
-\put(2400,-1460){\makebox(0,0)[lb]{\LstBasicStyle{arithmetic}}}
-\put(3750,-1460){\makebox(0,0)[lb]{\LstBasicStyle{underflow}}}
-\put(3750,-1690){\makebox(0,0)[lb]{\LstBasicStyle{overflow}}}
-\put(3750,-1920){\makebox(0,0)[lb]{\LstBasicStyle{zerodivide}}}
-\end{picture}%
+\input{exception-hierarchy}
 \end{center}
 
@@ -471,20 +458,7 @@
 skipping over it to the next try statement.
 
-% This might need a diagram. But it is an important part of the justification
-% of the design of the traversal order.
-\begin{verbatim}
-       throwResume2 ----------.
-            |                 |
- generated from handler       |
-            |                 |
-         handler              |
-            |                 |
-        throwResume1 -----.   :
-            |             |   :
-           try            |   : search skip
-            |             |   :
-        catchResume  <----'   :
-            |                 |
-\end{verbatim}
+\begin{center}
+\input{stack-marking}
+\end{center}
 
 These rules mirror what happens with termination.
Index: doc/theses/andrew_beach_MMath/stack-marking.fig
===================================================================
--- doc/theses/andrew_beach_MMath/stack-marking.fig	(revision 6a8208cbc93288ea3ca61f2a04619465c12cf317)
+++ doc/theses/andrew_beach_MMath/stack-marking.fig	(revision 6a8208cbc93288ea3ca61f2a04619465c12cf317)
@@ -0,0 +1,40 @@
+#FIG 3.2  Produced by xfig version 3.2.7b
+Landscape
+Center
+Inches
+Letter
+100.00
+Single
+-2
+1200 2
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 1800 1275 1800 1425
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3
+	1 1 1.00 45.00 90.00
+	 2625 1125 3225 1125 3225 2400
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 1800 1725 1800 1875
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 1800 2175 1800 2325
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 1800 2625 1800 2775
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 1800 3000 1800 3150
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+	 1800 3375 1800 3525
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4
+	1 1 1.00 45.00 90.00
+	 2625 2475 2850 2475 2850 3225 2625 3225
+2 1 1 1 0 7 50 -1 -1 4.000 0 0 -1 0 0 2
+	 3225 2475 3225 3225
+2 1 0 1 0 7 50 -1 -1 4.000 0 0 -1 1 0 2
+	1 1 1.00 45.00 90.00
+	 3225 3300 3225 3525
+4 1 0 50 -1 5 12 0.0000 2 120 1440 1800 1200 throwResume2\001
+4 1 0 50 -1 5 12 0.0000 2 165 2640 1800 1650 generated from handler\001
+4 1 0 50 -1 5 12 0.0000 2 120 840 1800 2100 handler\001
+4 1 0 50 -1 5 12 0.0000 2 120 1440 1875 2550 throwResume1\001
+4 1 0 50 -1 5 12 0.0000 2 150 360 1800 2925 try\001
+4 1 0 50 -1 5 12 0.0000 2 120 1320 1800 3300 catchresume\001
+4 2 0 50 -1 0 12 0.0000 2 135 600 2775 2925 marked\001
+4 0 0 50 -1 0 12 0.0000 2 180 900 3375 2925 search skip\001
Index: doc/theses/andrew_beach_MMath/uw-ethesis.tex
===================================================================
--- doc/theses/andrew_beach_MMath/uw-ethesis.tex	(revision f17fb7d941f4180ff6d7f86ca1188a320c6101dc)
+++ doc/theses/andrew_beach_MMath/uw-ethesis.tex	(revision 6a8208cbc93288ea3ca61f2a04619465c12cf317)
@@ -100,6 +100,7 @@
 % Lots of math symbols and environments
 \usepackage{amsmath,amssymb,amstext}
-% For including graphics N.B. pdftex graphics driver
-\usepackage[pdftex]{graphicx}
+% For including graphics (must match graphics driver)
+\usepackage{epic,eepic}
+\usepackage{graphicx}
 % Removes large sections of the document.
 \usepackage{comment}
@@ -112,5 +113,5 @@
 % Use the "hyperref" package
 % N.B. HYPERREF MUST BE THE LAST PACKAGE LOADED; ADD ADDITIONAL PKGS ABOVE
-\usepackage[pdftex,pagebackref=true]{hyperref}
+\usepackage[pagebackref=true]{hyperref}
 % N.B. pagebackref=true provides links back from the References to the body
 % text. This can cause trouble for printing.
