Cornell Thesis LaTeX Document Class

The current version is 2.7, dated 2006/10/25
This document class takes into account the changes made in the openbib commands in the December 1995 release of LaTeX. It will not work with earlier versions.

The cornell document class typesets dissertations and theses according to the specifications of the Cornell University Graduate School, as described in the April 2001 edition of the booklet ``Doctoral Dissertation, Master's Thesis, and Advanced Degree Requirements''. It was originally released as crnlphd by Sergio Gelato, who created it by converting the old thesis style files to a LaTeX2e document class. Daniel Kartch modified it so that it could handle Master's theses as well as doctoral dissertations, and also fixed a few bugs caused by changes in the LaTeX source release. Steve Holland later fixed a few bugs and added a few features. Aleksey Nogin then added some more features. Nate Nystrom and Andrew Myers fixed a few more bugs in line spacing and line number placement. To learn more, you can check out the User's Guide, which can also be generated from the source files.

The distribution contains four files:

It is also available in a single compressed file:

Several older versions of the Cornell Thesis style are archived here:

The Cornell Center for Materials Research has a LaTeX thesis page based on version 2.0 of the thesis style at http://cf.ccmr.cornell.edu/docs/howto/tex/tips_thesis.html

CCMR provides the following useful recommendation:

Printer Variations

Each printer varies a bit on the precision of the margins. You can generally set it to your needs by adjusting these parameters. See page 182 of the LaTeX 2nd Edition book for the layout of page paramters. The left margin starts from 1 inch. The text width is adjusted to change the right margin! Defaults are in the cornell.cls file as:

\setlength\evensidemargin{.51in} \setlength\oddsidemargin{.51in} \setlength\textwidth{5.88in}

For example to increase the left margin by .1 inches without changing the right margin use:

\setlength\evensidemargin{.61in} \setlength\oddsidemargin{.61in} \setlength\textwidth{5.78in}

To increase the right margin by .1 inches:

\setlength\textwidth{5.78in}


Greg Voth posted some hints on his site at http://milou.msc.cornell.edu/~greg/thesis/hints.html:

Some students before me had problems with getting the captions at the bottom of landscape figures in their theses. I found that this can be easily done by using the package "rotating", and the commmands below. More documentation is in The LaTeX Companion.
\begin{sidewaysfigure}
\centering\epsfig{file=filename.eps,width=??}
\singlespacing
\caption{Landscape figure}
\normalspacing
\label{land_figure}
\end{sidewaysfigure}
You will need to find a bibliography style file that follows some standard referencing style in your field. My advisor has his own which follows Annual Reviews of Fluid Mechanics style that I used: turbulence.bst. Then you need all your references in a .bib file. A great tool for creating this is the gawk script inspec2bibtex. From INSPEC on the library web site, you can email the bibliography information to yourself. Run inspec2bibtex on the text file from INSPEC, and it outputs the entries for the .bib file. The script currently is somewhat hacked, there may be some more elegant versions out there, but this one has worked for me.

Paragraph spacing

I think more paragraph spacing is needed than is provided by the documentclass. I use \addtolength{\parskip}{0.5\baselineskip} right before the chapters start, in order to increase the paragraph spacing. If you want to increase the paragraph spacing for your abstract, acknowledgements, etc., you can put the same line \addtolength{\parskip}{0.5\baselineskip} before the abstract section. If you do this, you will also need to put in a line \addtolength{\parskip}{-0.5\baselineskip} before the table-of-contents to reset \parskip, because otherwise the line spacing in the table of contents and list of figures is screwed up.

pdflatex

I should mention that I strongly recommend using pdflatex and PDF rather than regular latex and DVI for production. You will probably want to \usepackage[pdftex]{graphicx}.

To insert a figure, you can use the following code to create a figure containing myfig.pdf:

\begin{figure}
\centering
\includegraphics[width=0.75\textwidth]{myfig}
\caption{My figure.}
\label{fig:myfig}
\end{figure}

pdflatex issues

In order to use pdflatex, your figures must be in PDF format. Usually you would use /usr/bin/epstopdf (on Linux) to convert EPS figures to encapsulated PDF with ghostscript. However, current versions tend to enable JPEG compression on bitmap images which can damage image quality. You can pass ghostscript distiller parameters such as -dEncodeGrayImages=false and -dEncodeColorImages=false that will prevent the use of JPEG compression by the ghostscript distiller. (This can also dramatically increase file size).

I also ran into a problem in which certain figures did not print out correctly with Acrobat Reader. You can try distilling with ghostcript to fix such problems. Here is the script I used. You may need a new version of ghostscript (>=7.00) for this to work well.

Hanging captions

The use of the hangcaption package is documented in the instructions, but the suggested commands aren't quite optimal. Here is my suggestion:
\usepackage{ifthen}
\renewcommand{\caption}[2][]{\singlespacingplus\ifthenelse{\equal{}{#1}}{\hangcaption{#2}}{\hangcaption[#1]{#2}}\normalspacing}

This puts the captions in singlespacingplus mode and supports the optional argument to \caption that allows the list-of-figures entry and the actual caption to be different

Reusing equation numbers

Often you have already written an equation once and you want to write it again, using the same equation number a second time. I have written a small package called "previousequation" that allows you to do this easily. If you have an equation:
\begin{equation}
2+2=4
\label{eq:2plus2}
\end{equation}
You can write the equation a second time with \usepackage{previousequation} and
\begin{previousequation}{eq:2plus2}
2+2=4
\label{eq:2plus2}
\end{previousequation}
My previousequation package does not work with eqnarray. The deleq package can be used in this case.