Index: doc/theses/mike_brooks_MMath/background.tex
===================================================================
--- doc/theses/mike_brooks_MMath/background.tex	(revision f06ba98c491d342c3a0baffcf9e96cf93c226db9)
+++ doc/theses/mike_brooks_MMath/background.tex	(revision 1e110bffa193f11fc02b3e412b060f1b5bcfea22)
@@ -67,5 +67,5 @@
 
 
-\section{Reading Declarations}
+\section{Reading declarations}
 
 A significant area of confusion for reading C declarations results from embedding a declared variable in a declaration, mimicking the way the variable is used in executable statements.
@@ -316,5 +316,5 @@
 
 
-\subsection{Multi-Dimensional}
+\subsection{Multi-dimensional}
 
 As in the last section, multi-dimensional array declarations are examined.
@@ -414,5 +414,5 @@
 
 
-\subsection{Design Issues}
+\subsection{Design issues}
 \label{toc:lst:issue}
 
@@ -432,5 +432,5 @@
 
 
-\subsection{Preexisting Linked-List Libraries}
+\subsection{Preexisting linked-list libraries}
 
 Two preexisting linked-list libraries are used throughout, to show examples of the concepts being defined,
@@ -445,5 +445,5 @@
 
 
-\subsection{Link attachment: Intrusive vs.\ Wrapped}
+\subsection{Link attachment: intrusive vs.\ wrapped}
 \label{toc:lst:issue:attach}
 
@@ -604,5 +604,5 @@
 
 
-\subsection{Simultaneity: Single vs.\ Multi-Static vs.\ Dynamic}
+\subsection{Simultaneity: single vs.\ multi-static vs.\ dynamic}
 \label{toc:lst:issue:simultaneity}
 
@@ -729,5 +729,5 @@
 
 
-\subsection{User integration: Preprocessed vs.\ Type-System Mediated}
+\subsection{User integration: preprocessed vs.\ type-system mediated}
 
 % example of poor error message due to LQ's preprocessed integration
@@ -739,5 +739,5 @@
 
 
-\subsection{List identity: Headed vs.\ Ad-hoc}
+\subsection{List identity: headed vs.\ ad-hoc}
 \label{toc:lst:issue:ident}
 
@@ -788,5 +788,5 @@
 
 
-\subsection{End treatment: Cased vs.\ Uniform }
+\subsection{End treatment: cased vs.\ uniform }
 
 This issue is implementation-level, relevant to achieving high performance.
Index: doc/theses/mike_brooks_MMath/conclusion.tex
===================================================================
--- doc/theses/mike_brooks_MMath/conclusion.tex	(revision f06ba98c491d342c3a0baffcf9e96cf93c226db9)
+++ doc/theses/mike_brooks_MMath/conclusion.tex	(revision 1e110bffa193f11fc02b3e412b060f1b5bcfea22)
@@ -7,3 +7,3 @@
 \section{Strings}
 
-\section{Future Work}
+\section{Future work}
Index: doc/theses/mike_brooks_MMath/intro.tex
===================================================================
--- doc/theses/mike_brooks_MMath/intro.tex	(revision f06ba98c491d342c3a0baffcf9e96cf93c226db9)
+++ doc/theses/mike_brooks_MMath/intro.tex	(revision 1e110bffa193f11fc02b3e412b060f1b5bcfea22)
@@ -16,5 +16,5 @@
 
 
-\section{Linked List}
+\section{Linked list}
 
 A linked-list provides a homogeneous container often with $O(log N)$/$O(N)$ access to elements using successor and predecessor operations.
@@ -59,5 +59,5 @@
 
 
-\subsection{Ill-Typed Expressions}
+\subsection{Ill-typed expressions}
 
 C reports many ill-typed expressions as warnings.
@@ -95,5 +95,5 @@
 \section{Contributions}
 
-\subsection{Linked List}
+\subsection{Linked list}
 
 \subsection{Array}
Index: doc/theses/mike_brooks_MMath/string.tex
===================================================================
--- doc/theses/mike_brooks_MMath/string.tex	(revision f06ba98c491d342c3a0baffcf9e96cf93c226db9)
+++ doc/theses/mike_brooks_MMath/string.tex	(revision 1e110bffa193f11fc02b3e412b060f1b5bcfea22)
@@ -3,5 +3,5 @@
 \section{String}
 
-\subsection{Logical Overlap}
+\subsection{Logical overlap}
 
 \input{sharing-demo.tex}
@@ -38,5 +38,5 @@
 
 
-\subsection{Memory Management}
+\subsection{Memory management}
 
 A centrepriece of the string module is its memory manager.  The managment scheme defines a large shared buffer for strings' text.  Allocation in this buffer is always bump-pointer; the buffer is compacted and/or relocated with growth when it fills.  A string is a smart pointer into this buffer.
@@ -80,5 +80,5 @@
 
 
-\subsection{Avoiding Implicit Sharing}
+\subsection{Avoiding implicit sharing}
 
 There are tradeoffs associated with the copy-on-write mechanism.  Several quatitative matters are detailed in the [xref: Performance Assessment] section and the qualitiative issue of multi-threaded support is introduced here.  The \CFA sting library provides a switch to disable the sharing mechanism for situtations where it is inappropriate.
@@ -98,5 +98,5 @@
 
 
-\subsection{Future Work}
+\subsection{Future work}
 
 To discuss: Unicode
@@ -105,5 +105,5 @@
 
 
-\subsection{Performance Assessment}
+\subsection{Performance assessment}
 
 I assessed the CFA string library's speed and memory usage.  I present these results ineven quivalent cases, due to either micro-optimizations foregone, or fundamental costs of the added functionality.  They also show the benefits and tradeoffs, as >100\% effects, of switching to CFA, with the tradeoff points quantified.  The final test shows the overall win of the CFA text-sharing mechanism.  It exercises several operations together, showing CFA enabling clean user code to achieve performance that STL requires less-clean user code to achieve.
