Mercurial > cortex
changeset 421:c2c28c3e27c4
get mit thesis template file.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Fri, 21 Mar 2014 00:08:49 -0400 |
parents | 7f3581dc58ff |
children | 6b0f77df0e53 |
files | .hgignore thesis/Makefile thesis/mitthesis/README.bibliography thesis/mitthesis/README.main thesis/mitthesis/README.text thesis/mitthesis/abstract.tex thesis/mitthesis/appa.tex thesis/mitthesis/appb.tex thesis/mitthesis/biblio.tex thesis/mitthesis/chap1.tex thesis/mitthesis/contents.tex thesis/mitthesis/cover.tex thesis/mitthesis/lgrind.sty thesis/mitthesis/main.bib thesis/mitthesis/main.bib.info thesis/mitthesis/main.tex thesis/mitthesis/mitthesis.cls thesis/mitthesis/propcover.tex thesis/mitthesis/sample.org thesis/mitthesis/sample.tex thesis/mitthesis/signature.tex thesis/mitthesis/templates.zip |
diffstat | 21 files changed, 2241 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
1.1 --- a/.hgignore Thu Mar 20 22:57:06 2014 -0400 1.2 +++ b/.hgignore Fri Mar 21 00:08:49 2014 -0400 1.3 @@ -15,6 +15,7 @@ 1.4 libbulletjme.so 1.5 java/build/* 1.6 java/dist/* 1.7 +thesis/tmp 1.8 1.9 syntax: regexp 1.10 ^.*blend\d$
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/thesis/mitthesis/README.bibliography Fri Mar 21 00:08:49 2014 -0400 2.3 @@ -0,0 +1,28 @@ 2.4 +This file gives an overview on what you will need to do to create a 2.5 +bibliographic database for references, as well as create the actual 2.6 +bibliography for your thesis. 2.7 + 2.8 +You should not need to touch the file biblio.tex. This merely tells 2.9 +latex to look for the file with the bibliographic info. The file you 2.10 +want to edit is main.bib. For each entry, use the appropriate style 2.11 +as designated in the file. 2.12 + 2.13 +Citing your references: 2.14 + 2.15 +When you cite a reference, you need to use the ``key'' you declare in 2.16 +main.bib for the entry. No one ever sees the keys, but you'll want to 2.17 +use something you will easily remember. For instance, if you had an 2.18 +entry with: 2.19 + 2.20 + key=geer1 2.21 + 2.22 +Then you would use \cite{geer1} to reference it within your thesis. 2.23 + 2.24 +NOTE: You can not include references in your bibliography that are 2.25 +never cited in your paper by default. If you need to do this, create a 2.26 +key for the entry and at the end of your thesis include the line: 2.27 + 2.28 +\nocite{key} 2.29 + 2.30 +This should be done for every entry which is not explicitly cited. 2.31 +
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/thesis/mitthesis/README.main Fri Mar 21 00:08:49 2014 -0400 3.3 @@ -0,0 +1,54 @@ 3.4 +This file explains the options available to you for editting the file 3.5 +main.tex. 3.6 + 3.7 +The commands in the this file allow you to specify options such as 3.8 +spacing, double-sided printing, a draft copy, etc. By default, 12pt 3.9 +and lgrind are included; lgrind is the 2e style for including code in 3.10 +your thesis. 3.11 + 3.12 +\documentclass[12pt]{mitthesis} 3.13 +\usepackage{lgrind} 3.14 +\pagestyle{plain} 3.15 + 3.16 +You can add options in the documentclass line as follows: 3.17 + 3.18 + o singlespace 3.19 + 3.20 + \documentclass[12pt,singlespace]{mitthesis} 3.21 + 3.22 + o twoside 3.23 + 3.24 + \documentclass[12pt,twoside]{mitthesis} 3.25 + 3.26 + o draft (make sure to change the pagestyle to drafthead as 3.27 + well) 3.28 + 3.29 + \documentclass[12pt,draft]{mitthesis} 3.30 + \usepackage{lgrind} 3.31 + \pagestyle{drafthead} 3.32 + 3.33 + o vi (for course vi and course viii theses) 3.34 + 3.35 + \documentclass[12pt,vi]{mitthesis} 3.36 + 3.37 +Any options you would use for report.sty will work here as well. 3.38 + 3.39 + 3.40 +You should not need to change the first three lines and last two lines 3.41 +below. Be sure to include an \include command for each file you are 3.42 +including in your thesis. 3.43 + 3.44 +\include{cover} 3.45 +\pagestyle{plain} 3.46 +\include{contents} 3.47 +\include{chap1} 3.48 +\include{chap2} 3.49 +\appendix 3.50 +\include{appa} 3.51 +\include{appb} 3.52 +\include{biblio} 3.53 +\end{document} 3.54 + 3.55 +Comment: to include appendices use a single \appendix command followed by 3.56 +a number of \include{} commands as many files as needed, each of which 3.57 +should contain a \chapter{} command for the appendix title.
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/thesis/mitthesis/README.text Fri Mar 21 00:08:49 2014 -0400 4.3 @@ -0,0 +1,34 @@ 4.4 +This file includes the basic commands you will need to use within each 4.5 +chapter of your thesis. 4.6 + 4.7 +The file chap1.tex is a sample first chapter. To get started, you may 4.8 +just want to replace the text and commands in that file as needed. In 4.9 +general though, for each new chapter you want to do the following: 4.10 + 4.11 + o Make sure the name has the extension .tex . Otherwise, you 4.12 + can call it anything you want. For ease of use, all the 4.13 + examples use chap1, chap2, etc. 4.14 + 4.15 + o Add a line to the file main.tex that reads: 4.16 + 4.17 + \include{yourfilename} 4.18 + 4.19 + This should not include the .tex extension, because latex 4.20 + assumes that is there. 4.21 + 4.22 +Basic syntax: 4.23 + 4.24 + o The first line of each chapter should be: 4.25 + 4.26 + \chapter{Chapter Title} 4.27 + 4.28 + o To start a new section (labeled chap#.sec# -- as in 1.1, 4.29 + 1.2, etc): 4.30 + 4.31 + \section{Section Heading} 4.32 + 4.33 + You can also include subsections: 4.34 + 4.35 + \subsection{Heading} 4.36 + 4.37 +
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2 +++ b/thesis/mitthesis/abstract.tex Fri Mar 21 00:08:49 2014 -0400 5.3 @@ -0,0 +1,22 @@ 5.4 +% $Log: abstract.tex,v $ 5.5 +% Revision 1.1 93/05/14 14:56:25 starflt 5.6 +% Initial revision 5.7 +% 5.8 +% Revision 1.1 90/05/04 10:41:01 lwvanels 5.9 +% Initial revision 5.10 +% 5.11 +% 5.12 +%% The text of your abstract and nothing else (other than comments) goes here. 5.13 +%% It will be single-spaced and the rest of the text that is supposed to go on 5.14 +%% the abstract page will be generated by the abstractpage environment. This 5.15 +%% file should be \input (not \include 'd) from cover.tex. 5.16 +In this thesis, I designed and implemented a compiler which performs 5.17 +optimizations that reduce the number of low-level floating point operations 5.18 +necessary for a specific task; this involves the optimization of chains of 5.19 +floating point operations as well as the implementation of a ``fixed'' point 5.20 +data type that allows some floating point operations to simulated with integer 5.21 +arithmetic. The source language of the compiler is a subset of C, and the 5.22 +destination language is assembly language for a micro-floating point CPU. An 5.23 +instruction-level simulator of the CPU was written to allow testing of the 5.24 +code. A series of test pieces of codes was compiled, both with and without 5.25 +optimization, to determine how effective these optimizations were.
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 6.2 +++ b/thesis/mitthesis/appa.tex Fri Mar 21 00:08:49 2014 -0400 6.3 @@ -0,0 +1,15 @@ 6.4 +\chapter{Tables} 6.5 + 6.6 +\begin{table} 6.7 +\caption{Armadillos} 6.8 +\label{arm:table} 6.9 +\begin{center} 6.10 +\begin{tabular}{||l|l||}\hline 6.11 +Armadillos & are \\\hline 6.12 +our & friends \\\hline 6.13 +\end{tabular} 6.14 +\end{center} 6.15 +\end{table} 6.16 + 6.17 +\clearpage 6.18 +\newpage
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 7.2 +++ b/thesis/mitthesis/appb.tex Fri Mar 21 00:08:49 2014 -0400 7.3 @@ -0,0 +1,19 @@ 7.4 +\chapter{Figures} 7.5 + 7.6 +\vspace*{-3in} 7.7 + 7.8 +\begin{figure} 7.9 +\vspace{2.4in} 7.10 +\caption{Armadillo slaying lawyer.} 7.11 +\label{arm:fig1} 7.12 +\end{figure} 7.13 +\clearpage 7.14 +\newpage 7.15 + 7.16 +\begin{figure} 7.17 +\vspace{2.4in} 7.18 +\caption{Armadillo eradicating national debt.} 7.19 +\label{arm:fig2} 7.20 +\end{figure} 7.21 +\clearpage 7.22 +\newpage
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 8.2 +++ b/thesis/mitthesis/biblio.tex Fri Mar 21 00:08:49 2014 -0400 8.3 @@ -0,0 +1,8 @@ 8.4 +%% This defines the bibliography file (main.bib) and the bibliography style. 8.5 +%% If you want to create a bibliography file by hand, change the contents of 8.6 +%% this file to a `thebibliography' environment. For more information 8.7 +%% see section 4.3 of the LaTeX manual. 8.8 +\begin{singlespace} 8.9 +\bibliography{main} 8.10 +\bibliographystyle{plain} 8.11 +\end{singlespace}
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 9.2 +++ b/thesis/mitthesis/chap1.tex Fri Mar 21 00:08:49 2014 -0400 9.3 @@ -0,0 +1,250 @@ 9.4 +%% This is an example first chapter. You should put chapter/appendix that you 9.5 +%% write into a separate file, and add a line \include{yourfilename} to 9.6 +%% main.tex, where `yourfilename.tex' is the name of the chapter/appendix file. 9.7 +%% You can process specific files by typing their names in at the 9.8 +%% \files= 9.9 +%% prompt when you run the file main.tex through LaTeX. 9.10 +\chapter{Introduction} 9.11 + 9.12 +Micro-optimization is a technique to reduce the overall operation count of 9.13 +floating point operations. In a standard floating point unit, floating 9.14 +point operations are fairly high level, such as ``multiply'' and ``add''; 9.15 +in a micro floating point unit ($\mu$FPU), these have been broken down into 9.16 +their constituent low-level floating point operations on the mantissas and 9.17 +exponents of the floating point numbers. 9.18 + 9.19 +Chapter two describes the architecture of the $\mu$FPU unit, and the 9.20 +motivations for the design decisions made. 9.21 + 9.22 +Chapter three describes the design of the compiler, as well as how the 9.23 +optimizations discussed in section~\ref{ch1:opts} were implemented. 9.24 + 9.25 +Chapter four describes the purpose of test code that was compiled, and which 9.26 +statistics were gathered by running it through the simulator. The purpose 9.27 +is to measure what effect the micro-optimizations had, compared to 9.28 +unoptimized code. Possible future expansions to the project are also 9.29 +discussed. 9.30 + 9.31 +\section{Motivations for micro-optimization} 9.32 + 9.33 +The idea of micro-optimization is motivated by the recent trends in computer 9.34 +architecture towards low-level parallelism and small, pipelineable 9.35 +instruction sets \cite{patterson:risc,rad83}. By getting rid of more 9.36 +complex instructions and concentrating on optimizing frequently used 9.37 +instructions, substantial increases in performance were realized. 9.38 + 9.39 +Another important motivation was the trend towards placing more of the 9.40 +burden of performance on the compiler. Many of the new architectures depend 9.41 +on an intelligent, optimizing compiler in order to realize anywhere near 9.42 +their peak performance 9.43 +\cite{ellis:bulldog,pet87,coutant:precision-compilers}. In these cases, the 9.44 +compiler not only is responsible for faithfully generating native code to 9.45 +match the source language, but also must be aware of instruction latencies, 9.46 +delayed branches, pipeline stages, and a multitude of other factors in order 9.47 +to generate fast code \cite{gib86}. 9.48 + 9.49 +Taking these ideas one step further, it seems that the floating point 9.50 +operations that are normally single, large instructions can be further broken 9.51 +down into smaller, simpler, faster instructions, with more control in the 9.52 +compiler and less in the hardware. This is the idea behind a 9.53 +micro-optimizing FPU; break the floating point instructions down into their 9.54 +basic components and use a small, fast implementation, with a large part of 9.55 +the burden of hardware allocation and optimization shifted towards 9.56 +compile-time. 9.57 + 9.58 +Along with the hardware speedups possible by using a $\mu$FPU, there are 9.59 +also optimizations that the compiler can perform on the code that is 9.60 +generated. In a normal sequence of floating point operations, there are 9.61 +many hidden redundancies that can be eliminated by allowing the compiler to 9.62 +control the floating point operations down to their lowest level. These 9.63 +optimizations are described in detail in section~\ref{ch1:opts}. 9.64 + 9.65 +\section{Description of micro-optimization}\label{ch1:opts} 9.66 + 9.67 +In order to perform a sequence of floating point operations, a normal FPU 9.68 +performs many redundant internal shifts and normalizations in the process of 9.69 +performing a sequence of operations. However, if a compiler can 9.70 +decompose the floating point operations it needs down to the lowest level, 9.71 +it then can optimize away many of these redundant operations. 9.72 + 9.73 +If there is some additional hardware support specifically for 9.74 +micro-optimization, there are additional optimizations that can be 9.75 +performed. This hardware support entails extra ``guard bits'' on the 9.76 +standard floating point formats, to allow several unnormalized operations to 9.77 +be performed in a row without the loss information\footnote{A description of 9.78 +the floating point format used is shown in figures~\ref{exponent-format} 9.79 +and~\ref{mantissa-format}.}. A discussion of the mathematics behind 9.80 +unnormalized arithmetic is in appendix~\ref{unnorm-math}. 9.81 + 9.82 +The optimizations that the compiler can perform fall into several categories: 9.83 + 9.84 +\subsection{Post Multiply Normalization} 9.85 + 9.86 +When more than two multiplications are performed in a row, the intermediate 9.87 +normalization of the results between multiplications can be eliminated. 9.88 +This is because with each multiplication, the mantissa can become 9.89 +denormalized by at most one bit. If there are guard bits on the mantissas 9.90 +to prevent bits from ``falling off'' the end during multiplications, the 9.91 +normalization can be postponed until after a sequence of several 9.92 +multiplies\footnote{Using unnormalized numbers for math is not a new idea; a 9.93 +good example of it is the Control Data CDC 6600, designed by Seymour Cray. 9.94 +\cite{thornton:cdc6600} The CDC 6600 had all of its instructions performing 9.95 +unnormalized arithmetic, with a separate {\tt NORMALIZE} instruction.}. 9.96 + 9.97 +% This is an example of how you would use tgrind to include an example 9.98 +% of source code; it is commented out in this template since the code 9.99 +% example file does not exist. To use it, you need to remove the '%' on the 9.100 +% beginning of the line, and insert your own information in the call. 9.101 +% 9.102 +%\tagrind[htbp]{code/pmn.s.tex}{Post Multiply Normalization}{opt:pmn} 9.103 + 9.104 +As you can see, the intermediate results can be multiplied together, with no 9.105 +need for intermediate normalizations due to the guard bit. It is only at 9.106 +the end of the operation that the normalization must be performed, in order 9.107 +to get it into a format suitable for storing in memory\footnote{Note that 9.108 +for purposed of clarity, the pipeline delays were considered to be 0, and 9.109 +the branches were not delayed.}. 9.110 + 9.111 +\subsection{Block Exponent} 9.112 + 9.113 +In a unoptimized sequence of additions, the sequence of operations is as 9.114 +follows for each pair of numbers ($m_1$,$e_1$) and ($m_2$,$e_2$). 9.115 +\begin{enumerate} 9.116 + \item Compare $e_1$ and $e_2$. 9.117 + \item Shift the mantissa associated with the smaller exponent $|e_1-e_2|$ 9.118 + places to the right. 9.119 + \item Add $m_1$ and $m_2$. 9.120 + \item Find the first one in the resulting mantissa. 9.121 + \item Shift the resulting mantissa so that normalized 9.122 + \item Adjust the exponent accordingly. 9.123 +\end{enumerate} 9.124 + 9.125 +Out of 6 steps, only one is the actual addition, and the rest are involved 9.126 +in aligning the mantissas prior to the add, and then normalizing the result 9.127 +afterward. In the block exponent optimization, the largest mantissa is 9.128 +found to start with, and all the mantissa's shifted before any additions 9.129 +take place. Once the mantissas have been shifted, the additions can take 9.130 +place one after another\footnote{This requires that for n consecutive 9.131 +additions, there are $\log_{2}n$ high guard bits to prevent overflow. In 9.132 +the $\mu$FPU, there are 3 guard bits, making up to 8 consecutive additions 9.133 +possible.}. An example of the Block Exponent optimization on the expression 9.134 +X = A + B + C is given in figure~\ref{opt:be}. 9.135 + 9.136 +% This is an example of how you would use tgrind to include an example 9.137 +% of source code; it is commented out in this template since the code 9.138 +% example file does not exist. To use it, you need to remove the '%' on the 9.139 +% beginning of the line, and insert your own information in the call. 9.140 +% 9.141 +%\tgrind[htbp]{code/be.s.tex}{Block Exponent}{opt:be} 9.142 + 9.143 +\section{Integer optimizations} 9.144 + 9.145 +As well as the floating point optimizations described above, there are 9.146 +also integer optimizations that can be used in the $\mu$FPU. In concert 9.147 +with the floating point optimizations, these can provide a significant 9.148 +speedup. 9.149 + 9.150 +\subsection{Conversion to fixed point} 9.151 + 9.152 +Integer operations are much faster than floating point operations; if it is 9.153 +possible to replace floating point operations with fixed point operations, 9.154 +this would provide a significant increase in speed. 9.155 + 9.156 +This conversion can either take place automatically or or based on a 9.157 +specific request from the programmer. To do this automatically, the 9.158 +compiler must either be very smart, or play fast and loose with the accuracy 9.159 +and precision of the programmer's variables. To be ``smart'', the computer 9.160 +must track the ranges of all the floating point variables through the 9.161 +program, and then see if there are any potential candidates for conversion 9.162 +to floating point. This technique is discussed further in 9.163 +section~\ref{range-tracking}, where it was implemented. 9.164 + 9.165 +The other way to do this is to rely on specific hints from the programmer 9.166 +that a certain value will only assume a specific range, and that only a 9.167 +specific precision is desired. This is somewhat more taxing on the 9.168 +programmer, in that he has to know the ranges that his values will take at 9.169 +declaration time (something normally abstracted away), but it does provide 9.170 +the opportunity for fine-tuning already working code. 9.171 + 9.172 +Potential applications of this would be simulation programs, where the 9.173 +variable represents some physical quantity; the constraints of the physical 9.174 +system may provide bounds on the range the variable can take. 9.175 +\subsection{Small Constant Multiplications} 9.176 + 9.177 +One other class of optimizations that can be done is to replace 9.178 +multiplications by small integer constants into some combination of 9.179 +additions and shifts. Addition and shifting can be significantly faster 9.180 +than multiplication. This is done by using some combination of 9.181 +\begin{eqnarray*} 9.182 +a_i & = & a_j + a_k \\ 9.183 +a_i & = & 2a_j + a_k \\ 9.184 +a_i & = & 4a_j + a_k \\ 9.185 +a_i & = & 8a_j + a_k \\ 9.186 +a_i & = & a_j - a_k \\ 9.187 +a_i & = & a_j \ll m \mbox{shift} 9.188 +\end{eqnarray*} 9.189 +instead of the multiplication. For example, to multiply $s$ by 10 and store 9.190 +the result in $r$, you could use: 9.191 +\begin{eqnarray*} 9.192 +r & = & 4s + s\\ 9.193 +r & = & r + r 9.194 +\end{eqnarray*} 9.195 +Or by 59: 9.196 +\begin{eqnarray*} 9.197 +t & = & 2s + s \\ 9.198 +r & = & 2t + s \\ 9.199 +r & = & 8r + t 9.200 +\end{eqnarray*} 9.201 +Similar combinations can be found for almost all of the smaller 9.202 +integers\footnote{This optimization is only an ``optimization'', of course, 9.203 +when the amount of time spent on the shifts and adds is less than the time 9.204 +that would be spent doing the multiplication. Since the time costs of these 9.205 +operations are known to the compiler in order for it to do scheduling, it is 9.206 +easy for the compiler to determine when this optimization is worth using.}. 9.207 +\cite{magenheimer:precision} 9.208 + 9.209 +\section{Other optimizations} 9.210 + 9.211 +\subsection{Low-level parallelism} 9.212 + 9.213 +The current trend is towards duplicating hardware at the lowest level to 9.214 +provide parallelism\footnote{This can been seen in the i860; floating point 9.215 +additions and multiplications can proceed at the same time, and the RISC 9.216 +core be moving data in and out of the floating point registers and providing 9.217 +flow control at the same time the floating point units are active. \cite{byte:i860}} 9.218 + 9.219 +Conceptually, it is easy to take advantage to low-level parallelism in the 9.220 +instruction stream by simply adding more functional units to the $\mu$FPU, 9.221 +widening the instruction word to control them, and then scheduling as many 9.222 +operations to take place at one time as possible. 9.223 + 9.224 +However, simply adding more functional units can only be done so many times; 9.225 +there is only a limited amount of parallelism directly available in the 9.226 +instruction stream, and without it, much of the extra resources will go to 9.227 +waste. One process used to make more instructions potentially schedulable 9.228 +at any given time is ``trace scheduling''. This technique originated in the 9.229 +Bulldog compiler for the original VLIW machine, the ELI-512. 9.230 +\cite{ellis:bulldog,colwell:vliw} In trace scheduling, code can be 9.231 +scheduled through many basic blocks at one time, following a single 9.232 +potential ``trace'' of program execution. In this way, instructions that 9.233 +{\em might\/} be executed depending on a conditional branch further down in 9.234 +the instruction stream are scheduled, allowing an increase in the potential 9.235 +parallelism. To account for the cases where the expected branch wasn't 9.236 +taken, correction code is inserted after the branches to undo the effects of 9.237 +any prematurely executed instructions. 9.238 + 9.239 +\subsection{Pipeline optimizations} 9.240 + 9.241 +In addition to having operations going on in parallel across functional 9.242 +units, it is also typical to have several operations in various stages of 9.243 +completion in each unit. This pipelining allows the throughput of the 9.244 +functional units to be increased, with no increase in latency. 9.245 + 9.246 +There are several ways pipelined operations can be optimized. On the 9.247 +hardware side, support can be added to allow data to be recirculated back 9.248 +into the beginning of the pipeline from the end, saving a trip through the 9.249 +registers. On the software side, the compiler can utilize several tricks to 9.250 +try to fill up as many of the pipeline delay slots as possible, as 9.251 +seendescribed by Gibbons. \cite{gib86} 9.252 + 9.253 +
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 10.2 +++ b/thesis/mitthesis/contents.tex Fri Mar 21 00:08:49 2014 -0400 10.3 @@ -0,0 +1,11 @@ 10.4 + % -*- Mode:TeX -*- 10.5 +%% This file simply contains the commands that actually generate the table of 10.6 +%% contents and lists of figures and tables. You can omit any or all of 10.7 +%% these files by simply taking out the appropriate command. For more 10.8 +%% information on these files, see appendix C.3.3 of the LaTeX manual. 10.9 +\tableofcontents 10.10 +\newpage 10.11 +\listoffigures 10.12 +\newpage 10.13 +\listoftables 10.14 +
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 11.2 +++ b/thesis/mitthesis/cover.tex Fri Mar 21 00:08:49 2014 -0400 11.3 @@ -0,0 +1,132 @@ 11.4 +% -*-latex-*- 11.5 +% 11.6 +% For questions, comments, concerns or complaints: 11.7 +% thesis@mit.edu 11.8 +% 11.9 +% 11.10 +% $Log: cover.tex,v $ 11.11 +% Revision 1.8 2008/05/13 15:02:15 jdreed 11.12 +% Degree month is June, not May. Added note about prevdegrees. 11.13 +% Arthur Smith's title updated 11.14 +% 11.15 +% Revision 1.7 2001/02/08 18:53:16 boojum 11.16 +% changed some \newpages to \cleardoublepages 11.17 +% 11.18 +% Revision 1.6 1999/10/21 14:49:31 boojum 11.19 +% changed comment referring to documentstyle 11.20 +% 11.21 +% Revision 1.5 1999/10/21 14:39:04 boojum 11.22 +% *** empty log message *** 11.23 +% 11.24 +% Revision 1.4 1997/04/18 17:54:10 othomas 11.25 +% added page numbers on abstract and cover, and made 1 abstract 11.26 +% page the default rather than 2. (anne hunter tells me this 11.27 +% is the new institute standard.) 11.28 +% 11.29 +% Revision 1.4 1997/04/18 17:54:10 othomas 11.30 +% added page numbers on abstract and cover, and made 1 abstract 11.31 +% page the default rather than 2. (anne hunter tells me this 11.32 +% is the new institute standard.) 11.33 +% 11.34 +% Revision 1.3 93/05/17 17:06:29 starflt 11.35 +% Added acknowledgements section (suggested by tompalka) 11.36 +% 11.37 +% Revision 1.2 92/04/22 13:13:13 epeisach 11.38 +% Fixes for 1991 course 6 requirements 11.39 +% Phrase "and to grant others the right to do so" has been added to 11.40 +% permission clause 11.41 +% Second copy of abstract is not counted as separate pages so numbering works 11.42 +% out 11.43 +% 11.44 +% Revision 1.1 92/04/22 13:08:20 epeisach 11.45 + 11.46 +% NOTE: 11.47 +% These templates make an effort to conform to the MIT Thesis specifications, 11.48 +% however the specifications can change. We recommend that you verify the 11.49 +% layout of your title page with your thesis advisor and/or the MIT 11.50 +% Libraries before printing your final copy. 11.51 +\title{An Optimizing Compiler for Low-Level Floating Point Operations} 11.52 + 11.53 +\author{Robert McIntyre} 11.54 +% If you wish to list your previous degrees on the cover page, use the 11.55 +% previous degrees command: 11.56 +% \prevdegrees{A.A., Harvard University (1985)} 11.57 +% You can use the \\ command to list multiple previous degrees 11.58 +% \prevdegrees{B.S., University of California (1978) \\ 11.59 +% S.M., Massachusetts Institute of Technology (1981)} 11.60 +\department{Department of Electrical Engineering and Computer Science} 11.61 + 11.62 +% If the thesis is for two degrees simultaneously, list them both 11.63 +% separated by \and like this: 11.64 +% \degree{Doctor of Philosophy \and Master of Science} 11.65 +\degree{Bachelor of Science in Computer Science and Engineering} 11.66 + 11.67 +% As of the 2007-08 academic year, valid degree months are September, 11.68 +% February, or June. The default is June. 11.69 +\degreemonth{June} 11.70 +\degreeyear{1990} 11.71 +\thesisdate{May 18, 1990} 11.72 + 11.73 +%% By default, the thesis will be copyrighted to MIT. If you need to copyright 11.74 +%% the thesis to yourself, just specify the `vi' documentclass option. If for 11.75 +%% some reason you want to exactly specify the copyright notice text, you can 11.76 +%% use the \copyrightnoticetext command. 11.77 +%\copyrightnoticetext{\copyright IBM, 1990. Do not open till Xmas.} 11.78 + 11.79 +% If there is more than one supervisor, use the \supervisor command 11.80 +% once for each. 11.81 +\supervisor{William J. Dally}{Associate Professor} 11.82 + 11.83 +% This is the department committee chairman, not the thesis committee 11.84 +% chairman. You should replace this with your Department's Committee 11.85 +% Chairman. 11.86 +\chairman{Arthur C. Smith}{Chairman, Department Committee on Graduate Theses} 11.87 + 11.88 +% Make the titlepage based on the above information. If you need 11.89 +% something special and can't use the standard form, you can specify 11.90 +% the exact text of the titlepage yourself. Put it in a titlepage 11.91 +% environment and leave blank lines where you want vertical space. 11.92 +% The spaces will be adjusted to fill the entire page. The dotted 11.93 +% lines for the signatures are made with the \signature command. 11.94 +\maketitle 11.95 + 11.96 +% The abstractpage environment sets up everything on the page except 11.97 +% the text itself. The title and other header material are put at the 11.98 +% top of the page, and the supervisors are listed at the bottom. A 11.99 +% new page is begun both before and after. Of course, an abstract may 11.100 +% be more than one page itself. If you need more control over the 11.101 +% format of the page, you can use the abstract environment, which puts 11.102 +% the word "Abstract" at the beginning and single spaces its text. 11.103 + 11.104 +%% You can either \input (*not* \include) your abstract file, or you can put 11.105 +%% the text of the abstract directly between the \begin{abstractpage} and 11.106 +%% \end{abstractpage} commands. 11.107 + 11.108 +% First copy: start a new page, and save the page number. 11.109 +\cleardoublepage 11.110 +% Uncomment the next line if you do NOT want a page number on your 11.111 +% abstract and acknowledgments pages. 11.112 +% \pagestyle{empty} 11.113 +\setcounter{savepage}{\thepage} 11.114 +\begin{abstractpage} 11.115 +\input{abstract} 11.116 +\end{abstractpage} 11.117 + 11.118 +% Additional copy: start a new page, and reset the page number. This way, 11.119 +% the second copy of the abstract is not counted as separate pages. 11.120 +% Uncomment the next 6 lines if you need two copies of the abstract 11.121 +% page. 11.122 +% \setcounter{page}{\thesavepage} 11.123 +% \begin{abstractpage} 11.124 +% \input{abstract} 11.125 +% \end{abstractpage} 11.126 + 11.127 +\cleardoublepage 11.128 + 11.129 +\section*{Acknowledgments} 11.130 + 11.131 +This is the acknowledgements section. You should replace this with your 11.132 +own acknowledgements. 11.133 + 11.134 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11.135 +% -*-latex-*-
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 12.2 +++ b/thesis/mitthesis/lgrind.sty Fri Mar 21 00:08:49 2014 -0400 12.3 @@ -0,0 +1,228 @@ 12.4 +%% 12.5 +%% This is file `lgrind.sty', 12.6 +%% generated with the docstrip utility. 12.7 +%% 12.8 +%% The original source files were: 12.9 +%% 12.10 +%% lgrind.dtx (with options: `package') 12.11 +%% 12.12 +%% LGrind is used to format source code of different programming 12.13 +%% languages for LaTeX. 12.14 +%% 12.15 +%% LGrind is a minor adaptation of Jerry Leichter's tgrind for LaTeX, 12.16 +%% which was a notable improvement upon Van Jacobsen's tgrind for 12.17 +%% plain TeX, which was adapted from vgrind, a troff prettyprinter. 12.18 +%% 12.19 +%% Based on Van Jacobson's ``tgrindmac'', a macro package for TeX. 12.20 +%% Modified, 1987 by Jerry Leichter. Put '@' in all internal names. 12.21 +%% Modified, 1991 by George Reilly. Changed name from tgrind to lgrind. 12.22 +%% Modified, 1995 by Michael Piefel. Made it work with \LaTeXe. 12.23 +\NeedsTeXFormat{LaTeX2e}[1995/06/01] 12.24 +\ProvidesPackage{lgrind} 12.25 + [1997/01/30 v3.4 LGrind environment and supporting stuff] 12.26 +\newcount\lc@unt 12.27 +\newcount\ln@xt 12.28 +\newcount\LGnuminterval 12.29 +\LGnuminterval=10 12.30 +\DeclareOption{nolineno}{\LGnuminterval=50000} 12.31 +\DeclareOption{lineno5}{\LGnuminterval=5} 12.32 +\newif\ifLGleftnum 12.33 +\DeclareOption{leftnum}{\LGleftnumtrue} 12.34 +\newskip\LGindent 12.35 +\LGindent=1.6667\parindent 12.36 +\DeclareOption{noindent}{\LGindent=0pt} 12.37 +\newif\ifLGnorules 12.38 +\DeclareOption{norules}{\LGnorulestrue} 12.39 +\newlength{\LGsloppy} 12.40 +\setlength{\LGsloppy}{7.2pt} 12.41 +\DeclareOption{fussy}{\LGsloppy=0pt} 12.42 +\newcommand{\DefaultProc}{\@gobble} 12.43 +\newcommand{\DefaultProcCont}{\@gobble} 12.44 +\DeclareOption{procnames}{ 12.45 +\renewcommand{\DefaultProc}[1]{\renewcommand{\Procname}{#1}% 12.46 +\global\setbox\procbox=\hbox{\PNsize #1}} 12.47 +\renewcommand{\DefaultProcCont}[1]{\renewcommand\Procname{#1} 12.48 +\global\setbox\procbox=\hbox{\PNsize\dots #1}}} 12.49 +\newbox\procbox 12.50 +\newcommand{\Procname}{} 12.51 +\ProcessOptions 12.52 +\def\BGfont{\sffamily} 12.53 +\def\CMfont{\rmfamily\itshape} 12.54 +\def\NOfont{\sffamily} 12.55 +\def\KWfont{\rmfamily\bfseries} 12.56 +\def\STfont{\ttfamily} 12.57 +\def\VRfont{\rmfamily} 12.58 +\def\PNsize{\BGfont\small} 12.59 +\def\LGsize{\small} 12.60 +\def\LGfsize{\footnotesize} 12.61 +\newif\ifLGinline 12.62 +\newif\ifLGd@fault 12.63 +\def\LGbegin{\ifLGinline$\hbox\else$$\vbox\fi\bgroup\LGd@faulttrue} 12.64 +\def\LGend{\ifLGd@fault\egroup\ifLGinline$\else$$\fi\LGd@faultfalse\fi} 12.65 +\newif\ifc@mment 12.66 +\newif\ifstr@ng 12.67 +\newif\ifright@ 12.68 +\newbox\ls@far 12.69 +\newbox\tb@x 12.70 +\newdimen\TBw@d 12.71 +\newdimen\@ts 12.72 +{\catcode`\_=\active \gdef\@setunder{\let_=\sp@ce}} 12.73 +\newcommand{\lgrindheader}{} 12.74 +\newcommand{\lgrindfilename}{}\newcommand{\lgrindfilesize}{} 12.75 +\newcommand{\lgrindmodyear}{}\newcommand{\lgrindmodmonth}{} 12.76 +\newcommand{\lgrindmodday}{}\newcommand{\lgrindmodtime}{} 12.77 +\newenvironment{lgrind}[1][1]{% 12.78 +\def\Line##1{\L{\LB{##1}}}% 12.79 +\newcommand{\Head}[1]{\gdef\lgrindhead{##1}}% 12.80 +\newcommand{\File}[6]{\gdef\lgrindfilename{##1}\message{(LGround: ##1)}% 12.81 + \gdef\lgrindmodyear{##2}\gdef\lgrindmodmonth{##3}% 12.82 + \gdef\lgrindmodday{##4}\gdef\lgrindmodtime{##5}% 12.83 + \gdef\lgrindfilesize{##6}}% 12.84 +\let\Proc=\DefaultProc% 12.85 +\let\ProcCont=\DefaultProcCont% 12.86 +\hfuzz=\LGsloppy 12.87 +\def\NewPage{\filbreak\bigskip}% 12.88 +\ifLGinline 12.89 + \def\L##1{\setbox\ls@far\null{\CF\strut##1}\ignorespaces}% 12.90 +\else 12.91 + \let\r@ghtlno\relax\let\l@ftlno\relax 12.92 + \ifnum\LGnuminterval>\z@ 12.93 + \ifLGleftnum 12.94 + \def\l@ftlno{\ifvoid\procbox\ifnum\lc@unt>\ln@xt 12.95 + \global\advance\ln@xt by\LGnuminterval 12.96 + \llap{{\normalfont\scriptsize\the\lc@unt\quad}}\fi 12.97 + \else\llap{\box\procbox\quad}\fi}% 12.98 + \else 12.99 + \def\r@ghtlno{\ifvoid\procbox\ifnum\lc@unt>\ln@xt 12.100 + \global\advance\ln@xt by\LGnuminterval 12.101 + \rlap{{\normalfont\scriptsize\enspace\the\lc@unt}}\fi 12.102 + \else\rlap{\enspace\box\procbox}\fi}% 12.103 + \fi 12.104 + \fi 12.105 + \def\L##1{\@@par\setbox\ls@far=\null\strut 12.106 + \global\advance\lc@unt by1% 12.107 + \hbox to \hsize{\hskip\LGindent\l@ftlno ##1\egroup% 12.108 + \hfil\r@ghtlno}% 12.109 + \ignorespaces}% 12.110 +\fi 12.111 +\lc@unt=#1\advance\lc@unt by-1% 12.112 +\ln@xt=\LGnuminterval\advance\ln@xt by-1% 12.113 +\loop\ifnum\lc@unt>\ln@xt\advance\ln@xt by\LGnuminterval\repeat% 12.114 +\def\LB{\hbox\bgroup\bgroup\box\ls@far\CF\let\next=}% 12.115 +\def\Tab##1{\egroup\setbox\tb@x=\lastbox\TBw@d=\wd\tb@x% 12.116 + \advance\TBw@d by 1\@ts\ifdim\TBw@d>##1\@ts 12.117 + \setbox\ls@far=\hbox{\box\ls@far \box\tb@x \sp@ce}\else 12.118 + \setbox\ls@far=\hbox to ##1\@ts{\box\ls@far \box\tb@x \hfil}\fi\LB}% 12.119 +\ifLGinline\def\sp@ce{\hskip .3333em}% 12.120 +\else \setbox\tb@x=\hbox{\texttt{0}}% 12.121 + \@ts=0.8\wd\tb@x \def\sp@ce{\hskip 1\@ts}\fi 12.122 +\catcode`\_=\active \@setunder 12.123 +\def\CF{\ifc@mment\CMfont\else\ifstr@ng\STfont\fi\fi} 12.124 +\def\N##1{{\NOfont ##1}\global\futurelet\next\ic@r}% 12.125 +\def\K##1{{\KWfont ##1}\global\futurelet\next\ic@r}% 12.126 +\def\V##1{{\VRfont ##1}\global\futurelet\next\ic@r}% 12.127 +\def\ic@r{\let\@tempa\/\ifx.\next\let\@tempa\relax% 12.128 + \else\ifx,\next\let\@tempa\relax\fi\fi\@tempa}% 12.129 +\def\C{\egroup\bgroup\CMfont \global\c@mmenttrue \global\right@false}% 12.130 +\def\CE{\egroup\bgroup \global\c@mmentfalse}% 12.131 +\def\S{\egroup\bgroup\STfont \global\str@ngtrue}% 12.132 +\def\SE{\egroup\bgroup \global\str@ngfalse}% 12.133 +\def\,{\relax \ifmmode\mskip\thinmuskip \else\thinspace \fi}% 12.134 +\def\!{\relax \ifmmode\mskip-\thinmuskip \else\negthinspace \fi}% 12.135 +\def\CH##1##2##3{\relax\ifmmode ##1\relax 12.136 +\else\ifstr@ng ##2\relax\else$##3$\fi\fi }% 12.137 +\def\{{\CH\lbrace {\char'173}\lbrace }% 12.138 +\def\}{\CH\rbrace {\char'175}\rbrace }% 12.139 +\def\1{\CH///}% % / 12.140 +\def\2{\CH\backslash {\char'134}\backslash }% % \ 12.141 +\def\|{\CH|{\char'174}|}% 12.142 +\def\<{\CH<<<}% 12.143 +\def\>{\CH>>>}% 12.144 +\def\*{\CH***}\relax %\relax for DOCSTY 12.145 +\def\-{\CH---}% 12.146 +\def\_{\ifstr@ng {\char'137}\else 12.147 + \leavevmode \kern.06em \vbox{\hrule width.35em}% 12.148 + \ifdim\fontdimen\@ne\font=\z@ \kern.06em \fi\fi }% 12.149 +\def\&{\textsf{\char'046}}% 12.150 +\def\#{{\STfont\char'043}}% 12.151 +\def\%{{\char'045}}% 12.152 +\def\~{{\char'176}}% 12.153 +\def\3{\ifc@mment\ifright@ ''\global\right@false% 12.154 + \else``\global\right@true \fi 12.155 + \else{\texttt{\char'042}}\fi}% 12.156 +\def\4{\ifc@mment'\else {\texttt{\char'015}}\fi}% 12.157 +\def\5{{\texttt{\char'136}}}% 12.158 +\def\${{\ifmmode\slshape\else\ifdim\fontdimen\@ne\font>\z@\slshape\fi\fi 12.159 + \char'044}}% %No $ in \it, use \sl 12.160 +\parindent\z@\parskip\z@ plus 1pt\hsize\linewidth% 12.161 +\bgroup\BGfont 12.162 +} 12.163 +{\egroup\@@par} % end of environment lgrind 12.164 +\def\lgrinde{\ifLGinline\else\LGsize\fi\begin{lgrind}} 12.165 +\def\endlgrinde{\end{lgrind}} 12.166 +\def\lagrind{\@ifstar{\@slagrind}{\@lagrind}} 12.167 + 12.168 +\def\@lagrind{\@ifnextchar[{\@@lagrind}{\@@lagrind[t]}} 12.169 +\def\@slagrind{\@ifnextchar[{\@@slagrind}{\@@slagrind[t]}} 12.170 +\def\@@lagrind[#1]#2#3#4{% 12.171 + \begin{figure}[#1] 12.172 +\ifLGnorules\else\hrule\fi 12.173 +\vskip .5\baselineskip 12.174 +\begin{minipage}\columnwidth\LGsize\LGindent\z@ 12.175 + \begin{lgrind} 12.176 +\input #2\relax 12.177 + \end{lgrind} 12.178 +\end{minipage} 12.179 +\vskip .5\baselineskip plus .5\baselineskip 12.180 +\ifLGnorules\else\hrule\fi\vskip .5\baselineskip 12.181 +\begingroup 12.182 + \setbox\z@=\hbox{#4}% 12.183 + \ifdim\wd\z@>\z@ 12.184 +\caption{#3}% 12.185 +\label{#4}% 12.186 + \else 12.187 +\captcont{#3}% 12.188 + \fi 12.189 +\endgroup 12.190 +\vskip 2pt 12.191 + \end{figure} 12.192 +} 12.193 +\def\@@slagrind[#1]#2#3#4{% 12.194 + \begin{figure*}[#1] 12.195 +\ifLGnorules\else\hrule\fi 12.196 +\vskip .5\baselineskip 12.197 +\begin{minipage}\linewidth\LGsize\LGindent\z@ 12.198 + \begin{lgrind} 12.199 +\input #2\relax 12.200 + \end{lgrind} 12.201 +\end{minipage} 12.202 +\vskip .5\baselineskip plus .5\baselineskip 12.203 +\ifLGnorules\else\hrule\fi\vskip .5\baselineskip 12.204 +\begingroup 12.205 + \setbox\z@=\hbox{#4}% 12.206 + \ifdim\wd\z@>\z@ 12.207 +\caption{#3}% 12.208 +\label{#4}% 12.209 + \else 12.210 +\captcont{#3}% 12.211 + \fi 12.212 +\endgroup 12.213 +\vskip 2pt 12.214 + \end{figure*} 12.215 +} 12.216 +\def\lgrindfile#1{% 12.217 + \par\addvspace{0.1in} 12.218 + \ifLGnorules\else\hrule\fi 12.219 + \vskip .5\baselineskip 12.220 + \begingroup\LGfsize\LGindent\z@ 12.221 +\begin{lgrind} 12.222 + \input #1\relax 12.223 +\end{lgrind} 12.224 + \endgroup 12.225 + \vskip .5\baselineskip 12.226 + \ifLGnorules\else\hrule\fi 12.227 + \addvspace{0.1in} 12.228 +} 12.229 +\endinput 12.230 +%% 12.231 +%% End of file `lgrind.sty'.
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 13.2 +++ b/thesis/mitthesis/main.bib Fri Mar 21 00:08:49 2014 -0400 13.3 @@ -0,0 +1,356 @@ 13.4 +@preamble{ "\newcommand{\noopsort}[1]{} " 13.5 + # "\newcommand{\printfirst}[2]{#1} " 13.6 + # "\newcommand{\singleletter}[1]{#1} " 13.7 + # "\newcommand{\switchargs}[2]{#2#1} " } 13.8 + 13.9 +@ARTICLE{article-minimal, 13.10 + author = {L[eslie] A. Aamport}, 13.11 + title = {The Gnats and Gnus Document Preparation System}, 13.12 + journal = {\mbox{G-Animal's} Journal}, 13.13 + year = 1986, 13.14 +} 13.15 + 13.16 +@ARTICLE{article-full, 13.17 + author = {L[eslie] A. Aamport}, 13.18 + title = {The Gnats and Gnus Document Preparation System}, 13.19 + journal = {\mbox{G-Animal's} Journal}, 13.20 + year = 1986, 13.21 + volume = 41, 13.22 + number = 7, 13.23 + pages = "73+", 13.24 + month = jul, 13.25 + note = "This is a full ARTICLE entry", 13.26 +} 13.27 + 13.28 +The KEY field is here to override the KEY field in the journal being 13.29 +cross referenced (so is the NOTE field, in addition to its imparting 13.30 +information). 13.31 + 13.32 +@ARTICLE{article-crossref, 13.33 + crossref = {WHOLE-JOURNAL}, 13.34 + key = "", 13.35 + author = {L[eslie] A. Aamport}, 13.36 + title = {The Gnats and Gnus Document Preparation System}, 13.37 + pages = "73+", 13.38 + note = "This is a cross-referencing ARTICLE entry", 13.39 +} 13.40 + 13.41 +@ARTICLE{whole-journal, 13.42 + key = "GAJ", 13.43 + journal = {\mbox{G-Animal's} Journal}, 13.44 + year = 1986, 13.45 + volume = 41, 13.46 + number = 7, 13.47 + month = jul, 13.48 + note = {The entire issue is devoted to gnats and gnus 13.49 + (this entry is a cross-referenced ARTICLE (journal))}, 13.50 +} 13.51 + 13.52 +@INBOOK{inbook-minimal, 13.53 + author = "Donald E. Knuth", 13.54 + title = "Fundamental Algorithms", 13.55 + publisher = "Addison-Wesley", 13.56 + year = "{\noopsort{1973b}}1973", 13.57 + chapter = "1.2", 13.58 +} 13.59 + 13.60 +@INBOOK{inbook-full, 13.61 + author = "Donald E. Knuth", 13.62 + title = "Fundamental Algorithms", 13.63 + volume = 1, 13.64 + series = "The Art of Computer Programming", 13.65 + publisher = "Addison-Wesley", 13.66 + address = "Reading, Massachusetts", 13.67 + edition = "Second", 13.68 + month = "10~" # jan, 13.69 + year = "{\noopsort{1973b}}1973", 13.70 + type = "Section", 13.71 + chapter = "1.2", 13.72 + pages = "10--119", 13.73 + note = "This is a full INBOOK entry", 13.74 +} 13.75 + 13.76 +@INBOOK{inbook-crossref, 13.77 + crossref = "whole-set", 13.78 + title = "Fundamental Algorithms", 13.79 + volume = 1, 13.80 + series = "The Art of Computer Programming", 13.81 + edition = "Second", 13.82 + year = "{\noopsort{1973b}}1973", 13.83 + type = "Section", 13.84 + chapter = "1.2", 13.85 + note = "This is a cross-referencing INBOOK entry", 13.86 +} 13.87 + 13.88 +@BOOK{book-minimal, 13.89 + author = "Donald E. Knuth", 13.90 + title = "Seminumerical Algorithms", 13.91 + publisher = "Addison-Wesley", 13.92 + year = "{\noopsort{1973c}}1981", 13.93 +} 13.94 + 13.95 +@BOOK{book-full, 13.96 + author = "Donald E. Knuth", 13.97 + title = "Seminumerical Algorithms", 13.98 + volume = 2, 13.99 + series = "The Art of Computer Programming", 13.100 + publisher = "Addison-Wesley", 13.101 + address = "Reading, Massachusetts", 13.102 + edition = "Second", 13.103 + month = "10~" # jan, 13.104 + year = "{\noopsort{1973c}}1981", 13.105 + note = "This is a full BOOK entry", 13.106 +} 13.107 + 13.108 +@BOOK{book-crossref, 13.109 + crossref = "whole-set", 13.110 + title = "Seminumerical Algorithms", 13.111 + volume = 2, 13.112 + series = "The Art of Computer Programming", 13.113 + edition = "Second", 13.114 + year = "{\noopsort{1973c}}1981", 13.115 + note = "This is a cross-referencing BOOK entry", 13.116 +} 13.117 + 13.118 +@BOOK{whole-set, 13.119 + author = "Donald E. Knuth", 13.120 + publisher = "Addison-Wesley", 13.121 + title = "The Art of Computer Programming", 13.122 + series = "Four volumes", 13.123 + year = "{\noopsort{1973a}}{\switchargs{--90}{1968}}", 13.124 + note = "Seven volumes planned (this is a cross-referenced set of BOOKs)", 13.125 +} 13.126 + 13.127 +@BOOKLET{booklet-minimal, 13.128 + key = "Kn{\printfirst{v}{1987}}", 13.129 + title = "The Programming of Computer Art", 13.130 +} 13.131 + 13.132 +@BOOKLET{booklet-full, 13.133 + author = "Jill C. Knvth", 13.134 + title = "The Programming of Computer Art", 13.135 + howpublished = "Vernier Art Center", 13.136 + address = "Stanford, California", 13.137 + month = feb, 13.138 + year = 1988, 13.139 + note = "This is a full BOOKLET entry", 13.140 +} 13.141 + 13.142 +@INCOLLECTION{incollection-minimal, 13.143 + author = "Daniel D. Lincoll", 13.144 + title = "Semigroups of Recurrences", 13.145 + booktitle = "High Speed Computer and Algorithm Organization", 13.146 + publisher = "Academic Press", 13.147 + year = 1977, 13.148 +} 13.149 + 13.150 +@INCOLLECTION{incollection-full, 13.151 + author = "Daniel D. Lincoll", 13.152 + title = "Semigroups of Recurrences", 13.153 + editor = "David J. Lipcoll and D. H. Lawrie and A. H. Sameh", 13.154 + booktitle = "High Speed Computer and Algorithm Organization", 13.155 + number = 23, 13.156 + series = "Fast Computers", 13.157 + chapter = 3, 13.158 + type = "Part", 13.159 + pages = "179--183", 13.160 + publisher = "Academic Press", 13.161 + address = "New York", 13.162 + edition = "Third", 13.163 + month = sep, 13.164 + year = 1977, 13.165 + note = "This is a full INCOLLECTION entry", 13.166 +} 13.167 + 13.168 +@INCOLLECTION{incollection-crossref, 13.169 + crossref = "whole-collection", 13.170 + author = "Daniel D. Lincoll", 13.171 + title = "Semigroups of Recurrences", 13.172 + pages = "179--183", 13.173 + note = "This is a cross-referencing INCOLLECTION entry", 13.174 +} 13.175 + 13.176 +@BOOK{whole-collection, 13.177 + editor = "David J. Lipcoll and D. H. Lawrie and A. H. Sameh", 13.178 + title = "High Speed Computer and Algorithm Organization", 13.179 + booktitle = "High Speed Computer and Algorithm Organization", 13.180 + number = 23, 13.181 + series = "Fast Computers", 13.182 + publisher = "Academic Press", 13.183 + address = "New York", 13.184 + edition = "Third", 13.185 + month = sep, 13.186 + year = 1977, 13.187 + note = "This is a cross-referenced BOOK (collection) entry", 13.188 +} 13.189 + 13.190 +@MANUAL{manual-minimal, 13.191 + key = "Manmaker", 13.192 + title = "The Definitive Computer Manual", 13.193 +} 13.194 + 13.195 +@MANUAL{manual-full, 13.196 + author = "Larry Manmaker", 13.197 + title = "The Definitive Computer Manual", 13.198 + organization = "Chips-R-Us", 13.199 + address = "Silicon Valley", 13.200 + edition = "Silver", 13.201 + month = apr # "-" # may, 13.202 + year = 1986, 13.203 + note = "This is a full MANUAL entry", 13.204 +} 13.205 + 13.206 +@MASTERSTHESIS{mastersthesis-minimal, 13.207 + author = "{\'{E}}douard Masterly", 13.208 + title = "Mastering Thesis Writing", 13.209 + school = "Stanford University", 13.210 + year = 1988, 13.211 +} 13.212 + 13.213 +@MASTERSTHESIS{mastersthesis-full, 13.214 + author = "{\'{E}}douard Masterly", 13.215 + title = "Mastering Thesis Writing", 13.216 + school = "Stanford University", 13.217 + type = "Master's project", 13.218 + address = "English Department", 13.219 + month = jun # "-" # aug, 13.220 + year = 1988, 13.221 + note = "This is a full MASTERSTHESIS entry", 13.222 +} 13.223 + 13.224 +@MISC{misc-minimal, 13.225 + key = "Missilany", 13.226 + note = "This is a minimal MISC entry", 13.227 +} 13.228 + 13.229 +@MISC{misc-full, 13.230 + author = "Joe-Bob Missilany", 13.231 + title = "Handing out random pamphlets in airports", 13.232 + howpublished = "Handed out at O'Hare", 13.233 + month = oct, 13.234 + year = 1984, 13.235 + note = "This is a full MISC entry", 13.236 +} 13.237 + 13.238 +@STRING{STOC-key = "OX{\singleletter{stoc}}"} 13.239 + 13.240 +@STRING{ACM = "The OX Association for Computing Machinery"} 13.241 + 13.242 +@STRING{STOC = " Symposium on the Theory of Computing"} 13.243 + 13.244 +@INPROCEEDINGS{inproceedings-minimal, 13.245 + author = "Alfred V. Oaho and Jeffrey D. Ullman and Mihalis Yannakakis", 13.246 + title = "On Notions of Information Transfer in {VLSI} Circuits", 13.247 + booktitle = "Proc. Fifteenth Annual ACM" # STOC, 13.248 + year = 1983, 13.249 +} 13.250 + 13.251 +@INPROCEEDINGS{inproceedings-full, 13.252 + author = "Alfred V. Oaho and Jeffrey D. Ullman and Mihalis Yannakakis", 13.253 + title = "On Notions of Information Transfer in {VLSI} Circuits", 13.254 + editor = "Wizard V. Oz and Mihalis Yannakakis", 13.255 + booktitle = "Proc. Fifteenth Annual ACM" # STOC, 13.256 + number = 17, 13.257 + series = "All ACM Conferences", 13.258 + pages = "133--139", 13.259 + month = mar, 13.260 + year = 1983, 13.261 + address = "Boston", 13.262 + organization = ACM, 13.263 + publisher = "Academic Press", 13.264 + note = "This is a full INPROCEDINGS entry", 13.265 +} 13.266 + 13.267 +@INPROCEEDINGS{inproceedings-crossref, 13.268 + crossref = "whole-proceedings", 13.269 + author = "Alfred V. Oaho and Jeffrey D. Ullman and Mihalis Yannakakis", 13.270 + title = "On Notions of Information Transfer in {VLSI} Circuits", 13.271 + organization = "", 13.272 + pages = "133--139", 13.273 + note = "This is a cross-referencing INPROCEEDINGS entry", 13.274 +} 13.275 + 13.276 +@PROCEEDINGS{proceedings-minimal, 13.277 + key = STOC-key, 13.278 + title = "Proc. Fifteenth Annual" # STOC, 13.279 + year = 1983, 13.280 +} 13.281 + 13.282 +@PROCEEDINGS{proceedings-full, 13.283 + editor = "Wizard V. Oz and Mihalis Yannakakis", 13.284 + title = "Proc. Fifteenth Annual" # STOC, 13.285 + number = 17, 13.286 + series = "All ACM Conferences", 13.287 + month = mar, 13.288 + year = 1983, 13.289 + address = "Boston", 13.290 + organization = ACM, 13.291 + publisher = "Academic Press", 13.292 + note = "This is a full PROCEEDINGS entry", 13.293 +} 13.294 + 13.295 +@PROCEEDINGS{whole-proceedings, 13.296 + key = STOC-key, 13.297 + organization = ACM, 13.298 + title = "Proc. Fifteenth Annual" # STOC, 13.299 + address = "Boston", 13.300 + year = 1983, 13.301 + booktitle = "Proc. Fifteenth Annual ACM" # STOC, 13.302 + note = "This is a cross-referenced PROCEEDINGS", 13.303 +} 13.304 + 13.305 +@PHDTHESIS{phdthesis-minimal, 13.306 + author = "F. Phidias Phony-Baloney", 13.307 + title = "Fighting Fire with Fire: Festooning {F}rench Phrases", 13.308 + school = "Fanstord University", 13.309 + year = 1988, 13.310 +} 13.311 + 13.312 +@PHDTHESIS{phdthesis-full, 13.313 + author = "F. Phidias Phony-Baloney", 13.314 + title = "Fighting Fire with Fire: Festooning {F}rench Phrases", 13.315 + school = "Fanstord University", 13.316 + type = "{PhD} Dissertation", 13.317 + address = "Department of French", 13.318 + month = jun # "-" # aug, 13.319 + year = 1988, 13.320 + note = "This is a full PHDTHESIS entry", 13.321 +} 13.322 + 13.323 +@TECHREPORT{techreport-minimal, 13.324 + author = "Tom Terrific", 13.325 + title = "An {$O(n \log n / \! \log\log n)$} Sorting Algorithm", 13.326 + institution = "Fanstord University", 13.327 + year = 1988, 13.328 +} 13.329 + 13.330 +@TECHREPORT{techreport-full, 13.331 + author = "Tom T{\'{e}}rrific", 13.332 + title = "An {$O(n \log n / \! \log\log n)$} Sorting Algorithm", 13.333 + institution = "Fanstord University", 13.334 + type = "Wishful Research Result", 13.335 + number = "7", 13.336 + address = "Computer Science Department, Fanstord, California", 13.337 + month = oct, 13.338 + year = 1988, 13.339 + note = "This is a full TECHREPORT entry", 13.340 +} 13.341 + 13.342 +@UNPUBLISHED{unpublished-minimal, 13.343 + author = "Ulrich {\"{U}}nderwood and Ned {\~N}et and Paul {\={P}}ot", 13.344 + title = "Lower Bounds for Wishful Research Results", 13.345 + note = "Talk at Fanstord University (this is a minimal UNPUBLISHED entry)", 13.346 +} 13.347 + 13.348 +@UNPUBLISHED{unpublished-full, 13.349 + author = "Ulrich {\"{U}}nderwood and Ned {\~N}et and Paul {\={P}}ot", 13.350 + title = "Lower Bounds for Wishful Research Results", 13.351 + month = nov # ", " # dec, 13.352 + year = 1988, 13.353 + note = "Talk at Fanstord University (this is a full UNPUBLISHED entry)", 13.354 +} 13.355 + 13.356 +@MISC{random-note-crossref, 13.357 + key = {Volume-2}, 13.358 + note = "Volume~2 is listed under Knuth \cite{book-full}" 13.359 +}
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 14.2 +++ b/thesis/mitthesis/main.bib.info Fri Mar 21 00:08:49 2014 -0400 14.3 @@ -0,0 +1,67 @@ 14.4 +To comment out part of an entry in BibTeX, you can use: 14.5 + 14.6 + @Comment{body of text} 14.7 + 14.8 +If you wish to comment out the entire entry, just remove the @ sign in 14.9 +front of the entry type (i.e., get rid of the '@' in "@Book"). 14.10 + 14.11 +************************************************************************* 14.12 + 14.13 +You can specify fixed strings (say if you needed to use it multiple 14.14 +times in your BibTeX file) with the @String command: 14.15 + 14.16 + @String(Leslie-Lamport = {Leslie Lamport}) 14.17 + 14.18 +and then you could use it in various entries: 14.19 + 14.20 + @Book{latex, 14.21 + Author = Leslie-Lamport, 14.22 + Title = "\LaTeX", 14.23 + ... 14.24 + Year = "1993"} 14.25 + 14.26 +************************************************************************* 14.27 + 14.28 +The required fields are not prefaced with OPT. Those that are optional 14.29 +*are* prefaced with OPT (remember to delete those three characters should 14.30 +you wish to use those fields). 14.31 + 14.32 +[Note: 14.33 + For most entry types the "author" information is simply the AUTHOR 14.34 +field. However: For the @Book and @Inbook entry types it's the AUTHOR 14.35 +field, but if there's no author then it's the EDITOR field; for the 14.36 +@Manual entry type it's the AUTHOR field, but if there's no author then 14.37 +it's the ORGANIZATION field; and for the @Proceedings entry type it's 14.38 +the EDITOR filed, but if there's no editor then it's the ORGANIZATION 14.39 +field.] 14.40 + 14.41 +To use this, just have your main.tex specify the following: 14.42 + 14.43 + \bibliography{main} 14.44 + \bibliographystyle{plain} 14.45 + 14.46 +There are several options for bibliographystyle: 14.47 + 14.48 + plain normal style - listed in ABC order and labeled numerically 14.49 + unsrt same as plain except entries appear in order of citation 14.50 + alpha same as plain except entry labels are used 14.51 + abbrv same as plain except uses abbreviations for first names, 14.52 + month names, and journal names 14.53 + 14.54 +Now that you have the basis for a bibliography, you have to run both 14.55 +latex and bibtex on the document. First, you should run latex (to 14.56 +create a foo.aux file, which bibtex reads). Then run bibtex once to get 14.57 +some of the citations and create a .bbl file. Then run latex again so 14.58 +that the cross references between the text file and the bibliography are 14.59 +correct. You may want to repeat running bibtex and latex on the file to 14.60 +make sure that all cross references are correct. Be warned that 14.61 +adding/deleting citations and sources will require running bibtex again. 14.62 + 14.63 +For more information on this topic, please refer the following pages in 14.64 +the LaTeX manual by Leslie Lamport: 14.65 + 14.66 + 72-74 Bibliography and Citation 14.67 + 74-74 BibTeX 14.68 + 140-147 Format of the .bib File (also gives info on other entry types) 187-188 Bibliography and Citation 14.69 + 14.70 + ----------------------------------------
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 15.2 +++ b/thesis/mitthesis/main.tex Fri Mar 21 00:08:49 2014 -0400 15.3 @@ -0,0 +1,57 @@ 15.4 +% -*- Mode:TeX -*- 15.5 + 15.6 +%% IMPORTANT: The official thesis specifications are available at: 15.7 +%% http://libraries.mit.edu/archives/thesis-specs/ 15.8 +%% 15.9 +%% Please verify your thesis' formatting and copyright 15.10 +%% assignment before submission. If you notice any 15.11 +%% discrepancies between these templates and the 15.12 +%% MIT Libraries' specs, please let us know 15.13 +%% by e-mailing thesis@mit.edu 15.14 + 15.15 +%% The documentclass options along with the pagestyle can be used to generate 15.16 +%% a technical report, a draft copy, or a regular thesis. You may need to 15.17 +%% re-specify the pagestyle after you \include cover.tex. For more 15.18 +%% information, see the first few lines of mitthesis.cls. 15.19 + 15.20 +%\documentclass[12pt,vi,twoside]{mitthesis} 15.21 +%% 15.22 +%% If you want your thesis copyright to you instead of MIT, use the 15.23 +%% ``vi'' option, as above. 15.24 +%% 15.25 +%\documentclass[12pt,twoside,leftblank]{mitthesis} 15.26 +%% 15.27 +%% If you want blank pages before new chapters to be labelled ``This 15.28 +%% Page Intentionally Left Blank'', use the ``leftblank'' option, as 15.29 +%% above. 15.30 + 15.31 +\documentclass[12pt,twoside]{mitthesis} 15.32 +\usepackage{lgrind} 15.33 +\pagestyle{plain} 15.34 + 15.35 +%% This bit allows you to either specify only the files which you wish to 15.36 +%% process, or `all' to process all files which you \include. 15.37 +%% Krishna Sethuraman (1990). 15.38 + 15.39 +\typein [\files]{Enter file names to process, (chap1,chap2 ...), or `all' to 15.40 +process all files:} 15.41 +\def\all{all} 15.42 +\ifx\files\all \typeout{Including all files.} \else \typeout{Including only \files.} \includeonly{\files} \fi 15.43 + 15.44 +\begin{document} 15.45 + 15.46 +\include{cover} 15.47 +% Some departments (e.g. 5) require an additional signature page. See 15.48 +% signature.tex for more information and uncomment the following line if 15.49 +% applicable. 15.50 +% \include{signature} 15.51 +\pagestyle{plain} 15.52 +\include{contents} 15.53 +\include{chap1} 15.54 +\include{chap2} 15.55 +\appendix 15.56 +\include{appa} 15.57 +\include{appb} 15.58 +\include{biblio} 15.59 +\end{document} 15.60 +
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 16.2 +++ b/thesis/mitthesis/mitthesis.cls Fri Mar 21 00:08:49 2014 -0400 16.3 @@ -0,0 +1,535 @@ 16.4 +% $Log: mitthesis.cls,v $ 16.5 +% Revision 1.9 2012/02/15 15:48:16 jdreed 16.6 +% Tweak the "permission" statement per the Libraries' specs 16.7 +% retrieved 15-Feb-2012 16.8 +% 16.9 +% Revision 1.8 2009/07/27 14:23:50 boojum 16.10 +% added changing draft mark 16.11 +% 16.12 +% Revision 1.6 2005/05/13 19:57:40 boojum 16.13 +% added leftblank option 16.14 +% 16.15 +% Revision 1.5 2002/04/18 14:10:08 boojum 16.16 +% changed doublespace into setspace for 2e compliance 16.17 +% 16.18 +% Revision 1.4 2001/02/08 18:57:13 boojum 16.19 +% turned two newpages into cleardoublepages 16.20 +% 16.21 +% Revision 1.3 2000/08/14 14:53:29 boojum 16.22 +% commented out footheight, which is relevant for drafthead 16.23 +% 16.24 +% Revision 1.2 1999/10/21 14:51:33 boojum 16.25 +% changed references to documentstyle to documentclass in comments 16.26 +% 16.27 +% Revision 1.1 1999/10/21 14:39:31 boojum 16.28 +% Initial revision 16.29 +% 16.30 +%Revision 1.7 1998/04/01 20:45:34 othomas 16.31 +%removed offending phrase ", and to grant others the right to do so" from copyright notice. 16.32 +% 16.33 +%Revision 1.6 96/06/26 15:07:29 othomas 16.34 +%safety checkin. 16.35 +% 16.36 +%Revision 1.5 93/06/07 15:38:50 starflt 16.37 +%Altered 'vi' option copyright wording to comply with new Institute 16.38 +%Archives requirements and MIT lawyers. 16.39 +% 16.40 +%Revision 1.4 92/08/19 16:51:06 lwvanels 16.41 +%Updated Course 6 title page for new permissions. 16.42 +% 16.43 +%Revision 1.3 92/04/23 10:16:15 epeisach 16.44 +%Fixed comment character in rcs file 16.45 +% 16.46 +%Revision 1.2 92/04/22 13:12:02 epeisach 16.47 +%Fixes for 1991 course 6 requirements 16.48 +%Phrase "and to grant others the right to do so" has been added to 16.49 +%permission clause 16.50 +%Second copy of abstract is not counted as separate pages so numbering works 16.51 +%out 16.52 +% 16.53 +%Revision 1.1 90/05/04 11:45:53 lwvanels 16.54 +%Initial revision 16.55 + 16.56 +% 16.57 +% LaTeX format for theses at MIT 16.58 +% Based on "Specifications for Thesis Preparation" 16.59 + 16.60 +% `vi' and `upcase' options by Krishna Sethuraman - krishna@athena.mit.edu 16.61 +% Margins and heading types by Peter Nuth - nuth@ai.mit.edu 16.62 +% Title and abstract page by Stephen Gildea - gildea@erl.mit.edu 16.63 +% Look in this directory for example file mitthesis.doc 16.64 +% Also for propcover.tex - Boilerplate for PHD proposal. 16.65 + 16.66 +% To use this style - say something like: 16.67 +% for dull, boring thesis format: 16.68 +% \documentclass[12pt]{mitthesis} 16.69 +% \pagestyle{plain} 16.70 +% OR for fast drafts: 16.71 +% \documentclass[11pt,singlespace,draft]{mitthesis} 16.72 +% \pagestyle{drafthead} 16.73 +% OR for Tech Reports: 16.74 +% \documentclass[12pt,twoside]{mitthesis} 16.75 +% \pagestyle{headings} 16.76 +% OR 16.77 +% some other combination... 16.78 +% 16.79 +%%%% New options: 16.80 +% 16.81 +% Option `twoside': 16.82 +% Good for producing Tech Reports. 16.83 +% The default is single-sided printing, which is what M.I.T. wants on the 16.84 +% thesis document itself. 16.85 +% 16.86 +% Option `singlespace': 16.87 +% Good for drafts. 16.88 +% Double-spaced theses are the default. 16.89 +% That is what M.I.T. asks for in the formal specifications. 16.90 +% 16.91 +% Note that MIT does not REQUIRE all theses to be double-spaced anymore. 16.92 +% Someone in the library system said that it's OK to be single-spaced. 16.93 +% (Regardless of what the specs. say...) 16.94 +% To get singlespacing in an area - Use the 'singlespace' environment. 16.95 +% 16.96 +% Option `draft': 16.97 +% Puts `overfull' boxes at the end of lines that are too long. 16.98 +% 16.99 +% Pagestyle `drafthead': 16.100 +% Puts the date and the label ``*DRAFT*'' in the footer. 16.101 +% 16.102 +%%%%%%%%%% 16.103 +% 16.104 +%%%% Parameters to initialize for boilerplate page: 16.105 +% 16.106 +% \title{Mixed Circular Cylindrical Shells} 16.107 +% \author{J. Casey Salas} 16.108 +% \prevdegrees{B.S., University of California (1978) \\ 16.109 +% S.M., Massachusetts Institute of Technology (1981)} 16.110 +% \department{Department of Electrical Engineering and Computer Science} 16.111 +% \degree{Doctor of Philosophy} 16.112 +%% If the thesis is for two degrees simultaneously, list them both 16.113 +%% separated by \and like this: 16.114 +% \degree{Doctor of Philosophy \and Master of Science} 16.115 +% \degreemonth{February} 16.116 +% \degreeyear{1987} 16.117 +% \thesisdate{December 10, 1986} 16.118 +%% If the thesis is copyright by the Institute, leave this line out and 16.119 +%% the standard copyright line will be used instead. 16.120 +% \copyrightnotice{J. Casey Salas, 1986} 16.121 +%% If there is more than one supervisor, use the \supervisor command 16.122 +%% once for each. 16.123 +% \supervisor{John D. Galli}{Director, Sound Instrument Laboratory} 16.124 +%% This is the department committee chairman, not the thesis committee chairman 16.125 +% \chairman{Arthur C. Smith} 16.126 +% {Chairman, Departmental Committee on Graduate Students} 16.127 +%% Make the titlepage based on the above information. If you need 16.128 +%% something special and can't use the standard form, you can specify 16.129 +%% the exact text of the titlepage yourself. Put it in a titlepage 16.130 +%% environment and leave blank lines where you want vertical space. 16.131 +%% The spaces will be adjusted to fill the entire page. The dotted 16.132 +%% lines for the signatures are made with the \signature command. 16.133 +% 16.134 +%% The abstractpage environment sets up everything on the page except 16.135 +%% the text itself. The title and other header material are put at the 16.136 +%% top of the page, and the supervisors are listed at the bottom. A 16.137 +%% new page is begun both before and after. Of course, an abstract may 16.138 +%% be more than one page itself. If you need more control over the 16.139 +%% format of the page, you can use the abstract environment, which puts 16.140 +%% the word "Abstract" at the beginning and single spaces its text. 16.141 +% 16.142 +% \begin{abstractpage} 16.143 +% Abstract goes here. 16.144 +% \end{abstractpage} 16.145 +% 16.146 +%%%%%%%% Newer additions 16.147 +% 16.148 +% documentclass options - 16.149 +% vi For MIT course VI or VIII thesis - will copyright the thesis to 16.150 +% you while giving MIT permission to copy and distribute it. 16.151 +% upcase Will put much of the cover page in uppercase, as per the 16.152 +% example on page 17 of the *Specifications for Thesis 16.153 +% Preparation*, (revised 1989) 16.154 +% Also added ``All Rights Reserved'' to default copyright notice. 16.155 +% 16.156 +%%%%%%%%%%% 16.157 +% 16.158 +% Documentclass options (vi and upcase) and changes to copyright notice 16.159 +% Copyright (c) 1990, by Krishna Sethuraman. 16.160 +% 16.161 +% Pagestyle and header generation 16.162 +% Copyright (c) 1987, 1988 by Peter Nuth 16.163 +% 16.164 +% Original version 16.165 +% Copyright (c) 1987 by Stephen Gildea 16.166 +% Permission to copy all or part of this work is granted, provided 16.167 +% that the copies are not made or distributed for resale, and that 16.168 +% the copyright notice and this notice are retained. 16.169 +% 16.170 +% THIS WORK IS PROVIDED ON AN "AS IS" BASIS. THE AUTHOR PROVIDES NO 16.171 +% WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK, 16.172 +% INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS 16.173 +% FOR ANY PARTICULAR PURPOSE. 16.174 +%%%%%%%% 16.175 + 16.176 +\NeedsTeXFormat{LaTeX2e} 16.177 +\ProvidesClass{mitthesis}[1999/10/20] 16.178 + 16.179 +\def\mystretch{1.5} % Double spacing hack 16.180 +\DeclareOption{doublespace}{} % This is default 16.181 + % So we do not read this style twice 16.182 +\DeclareOption{singlespace}{ % If he explicitly wants single spacing 16.183 + \typeout{Single spaced} 16.184 + \def\mystretch{1}} 16.185 + 16.186 +%% `vi' and `upcase' document style options. Krishna Sethuraman (1990) 16.187 +\newcount\vithesis 16.188 +\DeclareOption{vi}{\typeout{Course VI/VIII thesis style.}\advance\vithesis by1} 16.189 +\vithesis=0 16.190 + 16.191 +\DeclareOption{upcase}{\typeout{Uppercase cover page.} 16.192 + \gdef\choosecase#1{\uppercase\expandafter{#1}}} 16.193 +\def\choosecase#1{#1} 16.194 + 16.195 +%% leftblank option by Kevin Fu 16.196 +\newif\if@leftblank \@leftblankfalse 16.197 + 16.198 +\DeclareOption{leftblank}{\typeout{Intentionally Leaving Pages Blank} 16.199 +\@leftblanktrue} 16.200 + 16.201 +% Thesis looks much like report 16.202 +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}} 16.203 +\ProcessOptions 16.204 +\LoadClass{report} 16.205 + 16.206 +% If the user wants single spacing, set baselinestretch=1. 16.207 + 16.208 +\usepackage{setspace} 16.209 + 16.210 +% Note - doublespace.sty has some float-related troubles in 16.211 +% combination with graphics or color, and is not officially compliant 16.212 +% with 2e. setspace is a replacement which is 2e-compliant. 16.213 + 16.214 +% Read the doublespace style that we got from Rochester: 16.215 +%\input setdoublespace.sty 16.216 + 16.217 +\def\baselinestretch{\mystretch} % Double spacing hack 16.218 + 16.219 +%%%%%%% Set up margins and formatting params %%% 16.220 + 16.221 +% Margins. 16.222 +% Note we want 1in top margin assuming no header line, so push header 16.223 +% into 1in margin. 16.224 +% Draft mode brings the header back down. 16.225 + 16.226 +\setlength{\oddsidemargin}{0.25in} % 1.25in left margin 16.227 +\setlength{\evensidemargin}{0.25in} % 1.25in left margin (even pages) 16.228 +\setlength{\topmargin}{0.0in} % 1in top margin 16.229 +\setlength{\textwidth}{6.0in} % 6.0in text - 1.25in rt margin 16.230 +\setlength{\textheight}{9in} % Body ht for 1in margins 16.231 +\addtolength{\topmargin}{-\headheight} % No header, so compensate 16.232 +\addtolength{\topmargin}{-\headsep} % for header height and separation 16.233 + 16.234 +% The next two macros compensate page style for headers and footers 16.235 +% We only need them in page styles that USE headers and footers. 16.236 + % If we have a header, it must be 1in from top of page. 16.237 +\def\pulldownheader{ % Shift header down 1in from top 16.238 + \addtolength{\topmargin}{\headheight} 16.239 + \addtolength{\topmargin}{\headsep} 16.240 + \addtolength{\textheight}{-\headheight} 16.241 + \addtolength{\textheight}{-\headsep} 16.242 +} 16.243 + % If we have a footer, put it 1in up from bottom 16.244 +\def\pullupfooter{ % Shift footer up 16.245 + \addtolength{\textheight}{-\footskip} 16.246 +% \addtolength{\textheight}{-\footheight} %footheight doesn't 16.247 +% exist in 2e 16.248 +} 16.249 + 16.250 +%%%%%%% End of margins and formatting params %%% 16.251 + 16.252 +%%%%%%% Fix various header and footer problems %%% 16.253 + 16.254 +% Draft mark on the right side of left pages (outside) 16.255 +% this mark is also the only one visible on single sided. 16.256 +\newcommand{\draftrmark}{**DRAFT**} 16.257 +% Draft mark on the left side of right pages (outside) 16.258 +\newcommand{\draftlmark}{**DRAFT**} % 16.259 + 16.260 +% Macros to make changing the Draft easier 16.261 +\newcommand{\drmark}[1]{\renewcommand{\draftrmark}{#1}} 16.262 +\newcommand{\dlmark}[1]{\renewcommand{\draftlmark}{#1}} 16.263 +\newcommand{\dmark}[1]{\drmark{#1}\dlmark{#1}} 16.264 + 16.265 +% Format for draft of thesis. Define our own PageStyle - 16.266 +% Just like headings, but has foot lines with the date and warning 16.267 + 16.268 +\if@twoside % If two-sided printing. 16.269 +\def\ps@drafthead{ 16.270 + \let\@mkboth\markboth 16.271 + \def\@oddfoot{\rm \today \hfil \sc \draftrmark} 16.272 + \def\@evenfoot{\sc \draftlmark \hfil \rm \today } 16.273 + \def\@evenhead{\rm \thepage\hfil \sl \leftmark} 16.274 + \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage} 16.275 + \def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne 16.276 + \@chapapp\ \thechapter. \ \fi ##1}}{}} 16.277 + \def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@ 16.278 + \thesection. \ \fi ##1}}} 16.279 + \pulldownheader % Bring header down from edge 16.280 + \pullupfooter % Bring footer up 16.281 +} 16.282 +\else % If one-sided printing. 16.283 +\def\ps@drafthead{ 16.284 + \let\@mkboth\markboth 16.285 + \def\@oddfoot{\rm \today \hfil \sc \draftrmark} 16.286 + \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage} 16.287 + \def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne 16.288 + \@chapapp\ \thechapter. \ \fi ##1}}} 16.289 + \pulldownheader % Bring header down from edge 16.290 + \pullupfooter % Bring footer up 16.291 +} 16.292 +\fi 16.293 + 16.294 +% I redefine these formats that were defined in report.sty 16.295 +% Definition of 'headings' page style 16.296 +% Note the use of ##1 for parameter of \def\chaptermark inside the 16.297 +% \def\ps@headings. 16.298 +% 16.299 + 16.300 +\if@twoside % If two-sided printing. 16.301 +\def\ps@headings{\let\@mkboth\markboth 16.302 + \def\@oddfoot{} 16.303 + \def\@evenfoot{} % No feet. 16.304 + \def\@evenhead{\rm \thepage\hfil \sl \leftmark} % Left heading. 16.305 + \def\@oddhead{\hbox{}\sl \rightmark \hfil \rm\thepage} % Right heading. 16.306 + \def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\m@ne 16.307 + \@chapapp\ \thechapter. \ \fi ##1}}{}} 16.308 + \def\sectionmark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\z@ 16.309 + \thesection. \ \fi ##1}}} 16.310 + \pulldownheader % Bring header down from edge 16.311 +} 16.312 +\else % If one-sided printing. 16.313 +\def\ps@headings{\let\@mkboth\markboth 16.314 + \def\@oddfoot{} 16.315 + \def\@evenfoot{} % No feet. 16.316 + \def\@oddhead{\hbox {}\sl \rightmark \hfil \rm\thepage} % Heading. 16.317 + \def\chaptermark##1{\markright {\uppercase{\ifnum \c@secnumdepth >\m@ne 16.318 + \@chapapp\ \thechapter. \ \fi ##1}}} 16.319 + \pulldownheader % Bring header down from edge 16.320 +} 16.321 +\fi 16.322 + 16.323 +% Redefinition of 'myheadings' page style. 16.324 +% 16.325 +\def\ps@myheadings{\let\@mkboth\@gobbletwo 16.326 + \def\@oddfoot{} 16.327 + \def\@evenfoot{} 16.328 + \def\sectionmark##1{} 16.329 + \def\subsectionmark##1{} 16.330 + \def\@evenhead{\rm \thepage\hfil\sl\leftmark\hbox {}} % 16.331 + \def\@oddhead{\hbox{}\sl\rightmark \hfil \rm\thepage} % 16.332 + \pulldownheader % Bring header down from edge 16.333 +} 16.334 + 16.335 +% Redefine '/chapter' to always start on an odd page. 16.336 +% Should make no difference in singleside mode. 16.337 +% 16.338 +\if@leftblank 16.339 +% Prints "THIS PAGE INTENTIONALLY LEFT BLANK" on blank pages. 16.340 +\def\chapter{\clearpage\ifodd\c@page\else 16.341 + \hbox{}\par\vfill\centerline% 16.342 + {THIS PAGE INTENTIONALLY LEFT BLANK}% 16.343 + \vfill\newpage\fi 16.344 + \thispagestyle{plain} % Page style of chapter page is 'plain' 16.345 + \global\@topnum\z@ % Prevents figures from going at top of page. 16.346 + \@afterindentfalse % Suppresses indent in first paragraph. Change 16.347 + \secdef\@chapter\@schapter} % to \@afterindenttrue to have indent. 16.348 +\else 16.349 +\def\chapter{\cleardoublepage % Starts new page. 16.350 + \thispagestyle{plain} % Page style of chapter page is 'plain' 16.351 + \global\@topnum\z@ % Prevents figures from going at top of page. 16.352 + \@afterindentfalse % Suppresses indent in first paragraph. Change 16.353 + \secdef\@chapter\@schapter} % to \@afterindenttrue to have indent. 16.354 +\fi 16.355 +% If using the report style, use - instead of . in the figure number. 16.356 +\@ifundefined{thechapter}{}{\def\thefigure{\thechapter-\arabic{figure}}} 16.357 + 16.358 + 16.359 +%%%%%%%%% End of Style parameters %%%% 16.360 + 16.361 +% Here's Gildea's Boilerplate Stuff. 16.362 +% Copyright (c) 1987 by Stephen Gildea 16.363 +% Permission to copy all or part of this work is granted, provided 16.364 +% that the copies are not made or distributed for resale, and that 16.365 +% the copyright notice and this notice are retained. 16.366 + 16.367 +%% Define all the pieces that go on the title page and the abstract. 16.368 + 16.369 +% \title and \author already exist 16.370 + 16.371 +\def\prevdegrees#1{\gdef\@prevdegrees{#1}} 16.372 +\def\@prevdegrees{} 16.373 + 16.374 +\def\department#1{\gdef\@department{#1}} 16.375 + 16.376 +% If you are getting two degrees, use \and between the names. 16.377 +\def\degree#1{\setbox0\hbox{#1} %for side effect of setting \@degreeword 16.378 + \gdef\@degree{#1}} 16.379 + 16.380 +% \and is used inside the \degree argument to separate two degrees 16.381 +\def\and{\gdef\@degreeword{degrees} \par and \par} 16.382 +\def\@degreeword{degree} 16.383 + 16.384 +% The copyright notice stuff is a tremendous mess. 16.385 +% 16.386 +% \@copyrightnotice is used by \maketitle to actually put text on the 16.387 +% page; it defaults to ``Copyright MIT 19xx. All rights reserved.'' 16.388 +% \copyrightnoticetext takes an argument and defined \@copyrightnotice 16.389 +% to that argument. \copyrightnotice takes an argument, and calls 16.390 +% \copyrightnoticetext with that argument, preceeded by a copyright 16.391 +% symbol and followed by ``All rights reserved.'' and the standard 16.392 +% permission notice. 16.393 +% 16.394 +% If you use the 'vi' option, \copyrightnoticetext is used to set the 16.395 +% copyright to ``(C) Your Name, Current Year in Roman Numerals.'' 16.396 +% followed by the permission notice. 16.397 + 16.398 +% If there is no \copyrightnotice command, it is asssumed that MIT 16.399 +% holds the copyright. This commands adds the copyright symbol to the 16.400 +% beginning, and puts the standard permission notice below. 16.401 +%% ``All rights reserved'' added. Krishna Sethuraman (1990) 16.402 +\def\copyrightnotice#1{\copyrightnoticetext{\copyright\ #1. All rights 16.403 +reserved.\par\permission}} 16.404 + 16.405 +% Occacionally you will need to exactly specify the text of the 16.406 +% copyright notice. The \copyrightnoticetext command is then useful. 16.407 +\long\def\copyrightnoticetext#1{\gdef\@copyrightnotice{#1}} 16.408 +\def\@copyrightnotice{\copyright\ \Mit\ \@degreeyear. All rights reserved.} 16.409 + 16.410 +%% `vi' documentclass option: Specifying this option automatically 16.411 +%% copyrights the thesis to the author and gives MIT permission to copy and 16.412 +%% distribute the document. If you want, you can still specify 16.413 +%% \copyrightnotice{stuff} to copyright to someone else, or 16.414 +%% \copyrightnoticetext{stuff} to specify the exact text of the copyright 16.415 +%% notice. 16.416 +\ifodd\vithesis \copyrightnoticetext{\copyright\ \@author, 16.417 +\uppercase\expandafter{\romannumeral\@degreeyear}. All rights reserved.\par\permission} 16.418 +%% or just 16.419 +%%\@degreeyear}} 16.420 +\typeout{Copyright given to author, 16.421 + permission to copy/distribute given to MIT.} 16.422 +\else \typeout{Thesis document copyright MIT unless otherwise (manually) specified} 16.423 +\fi 16.424 + 16.425 +\def\thesisdate#1{\gdef\@thesisdate{#1}} 16.426 + 16.427 +% typically just a month and year 16.428 +\def\degreemonth#1{\gdef\@degreemonth{#1}} 16.429 +\def\degreeyear#1{\gdef\@degreeyear{#1}} 16.430 + 16.431 +% Usage: \supervisor{name}{title} 16.432 +% \chairman{name}{title} 16.433 + 16.434 +% since there can be more than one supervisor, 16.435 +% we build the appropriate boxes for the titlepage and 16.436 +% the abstractpage as the user makes multiple calls 16.437 +% to \supervisor 16.438 +\newbox\@titlesupervisor \newbox\@abstractsupervisor 16.439 + 16.440 +\def\supervisor#1#2{\setbox\@titlesupervisor\vbox 16.441 + {\unvbox\@titlesupervisor \vskip 10pt% plus 1fil minus 1fil 16.442 + \def\baselinestretch{1}\large 16.443 + \signature{Certified by}{#1 \\ #2 \\ Thesis Supervisor}} 16.444 + \setbox\@abstractsupervisor\vbox{\unvbox\@abstractsupervisor 16.445 + \vskip\baselineskip \def\baselinestretch{1}\@normalsize 16.446 + \par\noindent Thesis Supervisor: #1 \\ Title: #2}} 16.447 + 16.448 +% department chairman, not thesis committee chairman 16.449 +\def\chairman#1#2{\gdef\@chairmanname{#1}\gdef\@chairmantitle{#2}} 16.450 + 16.451 +%% `upcase' documentclass option: \choosecase is defined either as a dummy or 16.452 +%% a macro to change the (expanded) argument to uppercase. 16.453 +\def\maketitle{\begin{titlepage} 16.454 +\large 16.455 +{\def\baselinestretch{1.2}\Large\bf \choosecase{\@title} \par} 16.456 +by\par 16.457 +{\Large \choosecase{\@author}} 16.458 +\par 16.459 +\@prevdegrees 16.460 +\par 16.461 +\choosecase{Submitted to the} \choosecase{\@department} \\ 16.462 +\choosecase{in partial fulfillment of the requirements for the} 16.463 +\choosecase{\@degreeword} 16.464 +\choosecase{of} 16.465 +\par 16.466 +\choosecase{\@degree} 16.467 +\par 16.468 +at the 16.469 +\par\MIT\par 16.470 +\@degreemonth\ \@degreeyear 16.471 +\par 16.472 +\@copyrightnotice 16.473 +\par 16.474 +\vskip 3\baselineskip 16.475 +\signature{Author}{\@department \\ \@thesisdate} 16.476 +\par 16.477 +\vfill 16.478 +\unvbox\@titlesupervisor 16.479 +\par 16.480 +\vfill 16.481 +\signature{Accepted by}{\@chairmanname \\ \@chairmantitle} 16.482 +\vfill 16.483 +\end{titlepage}} 16.484 + 16.485 +% this environment should probably be called abstract, 16.486 +% but we want people to also be able to get at the more 16.487 +% basic abstract environment 16.488 +\def\abstractpage{\cleardoublepage 16.489 +\begin{center}{\large{\bf \@title} \\ 16.490 +by \\ 16.491 +\@author \\[\baselineskip]} 16.492 +\par 16.493 +\def\baselinestretch{1}\@normalsize 16.494 +Submitted to the \@department \\ 16.495 +on \@thesisdate, in partial fulfillment of the \\ 16.496 +requirements for the \@degreeword\ of \\ 16.497 +\@degree 16.498 +\end{center} 16.499 +\par 16.500 +\begin{abstract}} 16.501 + 16.502 +%% Changed from \unvbox to \unvcopy for use with multiple copies of abstract 16.503 +%% page. 16.504 +%% Krishna Sethuraman (1990) 16.505 +\def\endabstractpage{\end{abstract}\noindent 16.506 + \unvcopy\@abstractsupervisor \newpage} 16.507 + 16.508 +%% This counter is used to save the page number for the second copy of 16.509 +%% the abstract. 16.510 +\newcounter{savepage} 16.511 + 16.512 +% You can use the titlepage environment to do it all yourself if you 16.513 +% don't want to use \maketitle. If the titlepage environment, the 16.514 +% paragraph skip is infinitely stretchable, so if you leave a blank line 16.515 +% between lines that you want space between, the space will stretch so 16.516 +% that the title page fills up the entire page. 16.517 +\def\titlepage{\cleardoublepage\centering 16.518 + \thispagestyle{empty} 16.519 + \parindent 0pt \parskip 10pt plus 1fil minus 1fil 16.520 + \def\baselinestretch{1}\@normalsize\vbox to \vsize\bgroup\vbox to 9in\bgroup} 16.521 +% The \kern0pt pushes any depth into the height. Thanks to Richard Stone. 16.522 +\def\endtitlepage{\par\kern 0pt\egroup\vss\egroup\newpage} 16.523 + 16.524 +\def\MIT{MASSACHUSETTS INSTITUTE OF TECHNOLOGY} 16.525 +\def\Mit{Massachusetts Institute of Technology} 16.526 + 16.527 +\def\permission{\par\noindent{\centering 16.528 + The author hereby grants to MIT permission to reproduce and to 16.529 + distribute publicly paper and electronic copies of this thesis 16.530 + document in whole or in part in any medium now known or hereafter 16.531 + created.}\par} 16.532 + 16.533 +\def\signature#1#2{\par\noindent#1\dotfill\null\\* 16.534 + {\raggedleft #2\par}} 16.535 + 16.536 +\def\abstract{\subsection*{Abstract}\small\def\baselinestretch{1}\@normalsize} 16.537 +\def\endabstract{\par} 16.538 +
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 17.2 +++ b/thesis/mitthesis/propcover.tex Fri Mar 21 00:08:49 2014 -0400 17.3 @@ -0,0 +1,346 @@ 17.4 +%% This file is for producing a Doctoral Thesis proposal. It should be fairly 17.5 +%% self-explanatory. 17.6 + 17.7 +\documentclass{article} 17.8 +\begin{document} 17.9 + 17.10 +\bibliographystyle{plain} 17.11 +\pagestyle{empty} 17.12 +\markboth{{\sc thesis proposal}}{{\sc thesis proposal}} 17.13 +\def\title{Parallel Processor Architecture} 17.14 +\def\author{Peter Nuth} 17.15 +\def\addrone{305 Memorial Drive, 606C} 17.16 +\def\addrtwo{Cambridge, MA 02139} 17.17 + 17.18 +\def\degree{Doctor of Philosophy} 17.19 +%% Added \deptname for PhD proposals in other fields. 17.20 +%% Krishna Sethuraman (1990) 17.21 +\def\deptname{Electrical Engineering \\ and Computer Science} 17.22 +\def\laboratory{Artificial Intelligence Laboratory} 17.23 + 17.24 +\def\submissiondate{\today} 17.25 +\def\completiondate{September 1990} 17.26 + 17.27 +\def\supervisor{Professor William J. Dally} 17.28 +\def\supertitleone{Associate Professor of Electrical Engineering} 17.29 +\def\supertitletwo{and Computer Science} 17.30 + 17.31 +\def\readerone{Professor Arvind} 17.32 +\def\readeronetitleone{Professor of Electrical Engineering} 17.33 +\def\readeronetitletwo{and Computer Science} 17.34 + 17.35 +\def\readertwo{Professor Thomas Knight} 17.36 +\def\readertwotitleone{Assistant Professor of Electrical Engineering} 17.37 +\def\readertwotitletwo{and Computer Science} 17.38 + 17.39 +\def\readerthree{Professor William J. Dally} 17.40 +\def\readerthreetitleone{Associate Professor of Electrical Engineering} 17.41 +\def\readerthreetitletwo{and Computer Science} 17.42 + 17.43 + 17.44 +\def\abstract{ 17.45 +The proposed research 17.46 +is a study of processor architecture for 17.47 +large scale parallel computer systems. 17.48 +The thesis introduces mechanisms 17.49 +for fast context switching, 17.50 +synchronization between tasks, 17.51 +and run-time binding of 17.52 +variable names to processor memory. 17.53 +Various design tradeoffs are evaluated 17.54 +through simulation of a processor running a typical load. 17.55 +This work contains 17.56 +estimates of 17.57 +the speed and complexity of the different 17.58 +alternatives as implemented in VLSI. 17.59 +} 17.60 + 17.61 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 17.62 +%%%%%%%%%% You Should Not Need To Modify Anything Below Here %%%%%%%%%%%%%%% 17.63 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 17.64 + 17.65 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 17.66 +%%% Cover Page - Author signs %%% 17.67 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 17.68 + 17.69 +\begin{center} 17.70 +{\Large \bf 17.71 + Massachusetts Institute of Technology 17.72 +\\ Department of \deptname \\} 17.73 +\vspace{.25in} 17.74 +{\Large \bf 17.75 + Proposal for Thesis Research in Partial Fulfillment 17.76 +\\ of the Requirements for the Degree of 17.77 +\\ \degree \\} 17.78 +\end{center} 17.79 + 17.80 +\vspace{.5in} 17.81 + 17.82 +\def\sig{{\small \sc (Signature of Author)}} 17.83 + 17.84 +\begin{tabular}{rlc} 17.85 + {\small \sc Title:} & \multicolumn{2}{l}{\title} 17.86 +\\ {\small \sc Submitted by:} 17.87 + & \author & \\ 17.88 + & \addrone & \\ 17.89 + & \addrtwo & \\ \cline{3-3} 17.90 + & & \makebox[2in][c]{\sig} 17.91 +\\ {\small \sc Date of Submission:} & \multicolumn{2}{l}{\submissiondate} 17.92 +\\ {\small \sc Expected Date of Completion:} & \multicolumn{2}{l}{\completiondate} 17.93 +\\ {\small \sc Laboratory:} & \multicolumn{2}{l}{\laboratory} 17.94 +\end{tabular} 17.95 + 17.96 + 17.97 +\vspace{.75in} 17.98 +{\bf \sc Brief Statement of the Problem:} 17.99 + 17.100 +\abstract 17.101 + 17.102 + %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 17.103 +\newpage %%% Supervision Agreement %%% 17.104 + %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 17.105 + 17.106 +\begin{flushright} 17.107 + Massachusetts Institute of Technology 17.108 +\\ Department of \deptname 17.109 +\\ Cambridge, Massachusetts 02139 17.110 +\end{flushright} 17.111 + 17.112 +\underline{\bf Doctoral Thesis Supervision Agreement} 17.113 + 17.114 +\vspace{.25in} 17.115 +\begin{tabular}{rl} 17.116 + {\small \sc To:} & Department Graduate Committee 17.117 +\\ {\small \sc From:} & \supervisor 17.118 +\end{tabular} 17.119 + 17.120 +\vspace{.25in} 17.121 +The program outlined in the proposal: 17.122 + 17.123 +\vspace{.25in} 17.124 +\begin{tabular}{rl} 17.125 + {\small \sc Title:} & \title 17.126 +\\ {\small \sc Author:} & \author 17.127 +\\ {\small \sc Date:} & \submissiondate 17.128 +\end{tabular} 17.129 + 17.130 +\vspace{.25in} 17.131 +is adequate for a Doctoral thesis. 17.132 +I believe that appropriate readers for this thesis would be: 17.133 + 17.134 +\vspace{.25in} 17.135 +\begin{tabular}{rl} 17.136 + {\small \sc Reader 1:} & \readerone 17.137 +\\ {\small \sc Reader 2:} & \readertwo 17.138 +%\\ {\small \sc Reader 3:} & \readerthree 17.139 +\end{tabular} 17.140 + 17.141 +\vspace{.25in} 17.142 +Facilities and support for the research outlined in the proposal are available. 17.143 +I am willing to supervise the thesis and evaluate the thesis report. 17.144 + 17.145 +\vspace{.25in} 17.146 +\begin{tabular}{crc} 17.147 + \hspace{2in} & {\sc Signed:} & \\ \cline{3-3} 17.148 + & & {\small \sc \supertitleone} \\ 17.149 + & & {\small \sc \supertitletwo} \\ 17.150 + & & \\ 17.151 + & {\sc Date:} & \\ \cline{3-3} 17.152 +\end{tabular} 17.153 + 17.154 +\vspace{0in plus 1fill} 17.155 + 17.156 +Comments: \\ 17.157 +\begin{tabular}{c} 17.158 + \hspace{6.25in} \\ 17.159 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.160 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.161 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.162 +% \mbox{} \\ \cline{1-1} \mbox{} \\ 17.163 +% \mbox{} \\ \cline{1-1} \mbox{} \\ 17.164 +% \mbox{} \\ \cline{1-1} \mbox{} \\ 17.165 +\end{tabular} 17.166 + 17.167 + %%%%%%%%%%%%%%%%%%%%%%%%%% 17.168 +\newpage %%% Reader I Agreement %%% 17.169 + %%%%%%%%%%%%%%%%%%%%%%%%%% 17.170 + 17.171 +\begin{flushright} 17.172 + Massachusetts Institute of Technology 17.173 +\\ Department of \deptname 17.174 +\\ Cambridge, Massachusetts 02139 17.175 +\end{flushright} 17.176 + 17.177 +\underline{\bf Doctoral Thesis Reader Agreement} 17.178 + 17.179 +\vspace{.25in} 17.180 +\begin{tabular}{rl} 17.181 + {\small \sc To:} & Department Graduate Committee 17.182 +\\ {\small \sc From:} & \readerone 17.183 +\end{tabular} 17.184 + 17.185 +\vspace{.25in} 17.186 +The program outlined in the proposal: 17.187 + 17.188 +\vspace{.25in} 17.189 +\begin{tabular}{rl} 17.190 + {\small \sc Title:} & \title 17.191 +\\ {\small \sc Author:} & \author 17.192 +\\ {\small \sc Date:} & \submissiondate 17.193 +\\ {\small \sc Supervisor:} & \supervisor 17.194 +\\ {\small \sc Other Reader:} & \readertwo 17.195 +%\\ {\small \sc Other Reader:} & \readerthree 17.196 +\end{tabular} 17.197 + 17.198 +\vspace{.25in} 17.199 +is adequate for a Doctoral thesis. 17.200 +I am willing to aid in guiding the research 17.201 +and in evaluating the thesis report as a reader. 17.202 + 17.203 +\vspace{.25in} 17.204 +\begin{tabular}{crc} 17.205 + \hspace{2in} & {\sc Signed:} & \\ \cline{3-3} 17.206 + & & {\small \sc \readeronetitleone} \\ 17.207 + & & {\small \sc \readeronetitletwo} \\ 17.208 + & & \\ 17.209 + & {\sc Date:} & \\ \cline{3-3} 17.210 +\end{tabular} 17.211 + 17.212 +\vspace{0in plus 1fill} 17.213 + 17.214 +Comments: \\ 17.215 +\begin{tabular}{c} 17.216 + \hspace{6.25in} \\ 17.217 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.218 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.219 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.220 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.221 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.222 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.223 +\end{tabular} 17.224 + 17.225 + 17.226 + %%%%%%%%%%%%%%%%%%%%%%%%%%% 17.227 +\newpage %%% Reader II Agreement %%% 17.228 + %%%%%%%%%%%%%%%%%%%%%%%%%%% 17.229 + 17.230 + 17.231 +\begin{flushright} 17.232 + Massachusetts Institute of Technology 17.233 +\\ Department of \deptname 17.234 +\\ Cambridge, Massachusetts 02139 17.235 +\end{flushright} 17.236 + 17.237 +\underline{\bf Doctoral Thesis Reader Agreement} 17.238 + 17.239 +\vspace{.25in} 17.240 +\begin{tabular}{rl} 17.241 + {\small \sc To:} & Department Graduate Committee 17.242 +\\ {\small \sc From:} & \readertwo 17.243 +\end{tabular} 17.244 + 17.245 +\vspace{.25in} 17.246 +The program outlined in the proposal: 17.247 + 17.248 +\vspace{.25in} 17.249 +\begin{tabular}{rl} 17.250 + {\small \sc Title:} & \title 17.251 +\\ {\small \sc Author:} & \author 17.252 +\\ {\small \sc Date:} & \submissiondate 17.253 +\\ {\small \sc Supervisor:} & \supervisor 17.254 +\\ {\small \sc Other Reader:} & \readerone 17.255 +%\\ {\small \sc Other Reader:} & \readerthree 17.256 +\end{tabular} 17.257 + 17.258 +\vspace{.25in} 17.259 +is adequate for a Doctoral thesis. 17.260 +I am willing to aid in guiding the research 17.261 +and in evaluating the thesis report as a reader. 17.262 + 17.263 +\vspace{.25in} 17.264 +\begin{tabular}{crc} 17.265 + \hspace{2in} & {\sc Signed:} & \\ \cline{3-3} 17.266 + & & {\small \sc \readertwotitleone} \\ 17.267 + & & {\small \sc \readertwotitletwo} \\ 17.268 + & & \\ 17.269 + & {\sc Date:} & \\ \cline{3-3} 17.270 +\end{tabular} 17.271 + 17.272 +\vspace{0in plus 1fill} 17.273 + 17.274 +Comments: \\ 17.275 +\begin{tabular}{c} 17.276 + \hspace{6.25in} \\ 17.277 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.278 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.279 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.280 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.281 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.282 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.283 +\end{tabular} 17.284 +\newpage 17.285 + %%%%%%%%%%%%%%%%%%%%%%%%%%% 17.286 +\newpage %%% Reader III Agreement %%% 17.287 + %%%%%%%%%%%%%%%%%%%%%%%%%%% 17.288 + 17.289 + 17.290 +\begin{flushright} 17.291 + Massachusetts Institute of Technology 17.292 +\\ Department of \deptname 17.293 +\\ Cambridge, Massachusetts 02139 17.294 +\end{flushright} 17.295 + 17.296 +\underline{\bf Doctoral Thesis Reader Agreement} 17.297 + 17.298 +\vspace{.25in} 17.299 +\begin{tabular}{rl} 17.300 + {\small \sc To:} & Department Graduate Committee 17.301 +\\ {\small \sc From:} & \readerthree 17.302 +\end{tabular} 17.303 + 17.304 +\vspace{.25in} 17.305 +The program outlined in the proposal: 17.306 + 17.307 +\vspace{.25in} 17.308 +\begin{tabular}{rl} 17.309 + {\small \sc Title:} & \title 17.310 +\\ {\small \sc Author:} & \author 17.311 +\\ {\small \sc Date:} & \submissiondate 17.312 +\\ {\small \sc Supervisor:} & \supervisor 17.313 +\\ {\small \sc Other Reader:} & \readerone 17.314 +\\ {\small \sc Other Reader:} & \readertwo 17.315 +\end{tabular} 17.316 + 17.317 +\vspace{.25in} 17.318 +is adequate for a Doctoral thesis. 17.319 +I am willing to aid in guiding the research 17.320 +and in evaluating the thesis report as a reader. 17.321 + 17.322 +\vspace{.25in} 17.323 +\begin{tabular}{crc} 17.324 + \hspace{2in} & {\sc Signed:} & \\ \cline{3-3} 17.325 + & & {\small \sc \readerthreetitleone} \\ 17.326 + & & {\small \sc \readerthreetitletwo} \\ 17.327 + & & \\ 17.328 + & {\sc Date:} & \\ \cline{3-3} 17.329 +\end{tabular} 17.330 + 17.331 +\vspace{0in plus 1fill} 17.332 + 17.333 +Comments: \\ 17.334 +\begin{tabular}{c} 17.335 + \hspace{6.25in} \\ 17.336 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.337 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.338 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.339 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.340 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.341 + \mbox{} \\ \cline{1-1} \mbox{} \\ 17.342 +\end{tabular} 17.343 +\newpage 17.344 + 17.345 +\end{document} 17.346 + 17.347 + 17.348 + 17.349 +
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 18.2 +++ b/thesis/mitthesis/sample.org Fri Mar 21 00:08:49 2014 -0400 18.3 @@ -0,0 +1,7 @@ 18.4 +#+TITLE: asdhfklasdfkljasdf 18.5 +#+AUTHOR: asdhfkjasdhfkljdasf 18.6 + 18.7 +* Section one 18.8 +asdfasdfasdf 18.9 +* Another section 18.10 +aqghowahaoshfwhowehorwer 18.11 \ No newline at end of file
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 19.2 +++ b/thesis/mitthesis/sample.tex Fri Mar 21 00:08:49 2014 -0400 19.3 @@ -0,0 +1,40 @@ 19.4 +% Created 2014-03-20 Thu 23:12 19.5 +\documentclass[11pt]{article} 19.6 +\usepackage[utf8]{inputenc} 19.7 +\usepackage[T1]{fontenc} 19.8 +\usepackage{fixltx2e} 19.9 +\usepackage{graphicx} 19.10 +\usepackage{longtable} 19.11 +\usepackage{float} 19.12 +\usepackage{wrapfig} 19.13 +\usepackage{rotating} 19.14 +\usepackage[normalem]{ulem} 19.15 +\usepackage{amsmath} 19.16 +\usepackage{textcomp} 19.17 +\usepackage{marvosym} 19.18 +\usepackage{wasysym} 19.19 +\usepackage{amssymb} 19.20 +\usepackage{hyperref} 19.21 +\tolerance=1000 19.22 +\author{asdhfkjasdhfkljdasf} 19.23 +\date{\today} 19.24 +\title{asdhfklasdfkljasdf} 19.25 +\hypersetup{ 19.26 + pdfkeywords={}, 19.27 + pdfsubject={}, 19.28 + pdfcreator={Emacs 24.2.1 (Org mode 8.2.5h)}} 19.29 +\begin{document} 19.30 + 19.31 +\maketitle 19.32 +\tableofcontents 19.33 + 19.34 + 19.35 +\section{Section one} 19.36 +\label{sec-1} 19.37 +asdfasdfasdf 19.38 + 19.39 +\section{Another section} 19.40 +\label{sec-2} 19.41 +aqghowahaoshfwhowehorwer 19.42 +% Emacs 24.2.1 (Org mode 8.2.5h) 19.43 +\end{document} 19.44 \ No newline at end of file
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 20.2 +++ b/thesis/mitthesis/signature.tex Fri Mar 21 00:08:49 2014 -0400 20.3 @@ -0,0 +1,31 @@ 20.4 +% -*- Mode:TeX -*- 20.5 +% 20.6 +% Some departments (e.g. Chemistry) require an additional cover page 20.7 +% with signatures of the thesis committee. Please check with your 20.8 +% thesis advisor or other appropriate person to determine if such a 20.9 +% page is required for your thesis. 20.10 +% 20.11 +% If you choose not to use the "titlepage" environment, a \newpage 20.12 +% commands, and several \vspace{\fill} commands may be necessary to 20.13 +% achieve the required spacing. The \signature command is defined in 20.14 +% the "mitthesis" class 20.15 +% 20.16 +% The following sample appears courtesy of Ben Kaduk <kaduk@mit.edu> and 20.17 +% was used in his June 2012 doctoral thesis in Chemistry. 20.18 + 20.19 +\begin{titlepage} 20.20 +\begin{large} 20.21 +This doctoral thesis has been examined by a Committee of the Department 20.22 +of Chemistry as follows: 20.23 + 20.24 +\signature{Professor Jianshu Cao}{Chairman, Thesis Committee \\ 20.25 + Professor of Chemistry} 20.26 + 20.27 +\signature{Professor Troy Van Voorhis}{Thesis Supervisor \\ 20.28 + Associate Professor of Chemistry} 20.29 + 20.30 +\signature{Professor Robert W. Field}{Member, Thesis Committee \\ 20.31 + Haslam and Dewey Professor of Chemistry} 20.32 +\end{large} 20.33 +\end{titlepage} 20.34 +
21.1 Binary file thesis/mitthesis/templates.zip has changed