InsectNation

do your funny little dance


Writing a PhD thesis

This is just another of my typical brain-dumpings, based on things I've learnt the hard way while writing my own PhD thesis. As a result, it's not gospel, it may just be my way of doing it and (perhaps most importantly) it's not guaranteed to be right, especially since I've not finished yet!

LaTeX issues

  • Make a macro for everything... standardise on things like the symbol you're going to use for a given semantic object e.g. \efficiency for efficiencies.
  • Use the booktabs and caption packages to make your tables and captions look decent. The default appearance of TeX/LaTeX tables is appalling.
  • Use the SIunits package for typesetting your units: it gets the spacings right and does other nice things like using upright mu glyphs for "micro" prefixes. If you're doing high energy physics then you might like to go and get my hepunits package from CTAN to do all those pesky GeV/c2 etc. properly. (You may also be interested in hepnames and hepparticles and, well, anything else I've written on there :-)
  • Don't be afraid to write your own packages and document classes: they're a good way to store the project-specific macros. Try to put more generic macro definitions in more abstract packages and then you can re-use them. For example, I have sets of packages which do math typesetting, which are then re-used in packages for HEP typesetting, which are then re-used for packages specific to my work. These are then used for writing papers and talks as well as for my thesis: the specific thesis package requires them to work.
  • Use the AMS mathematical modes rather than the raw LaTeX ones. Use subequations and split environments (among others) to get the equation numbering right.
  • Don't leave blank lines between text and a displayed equation unless you're really making a paragraph break. Putting a commented (%) line between text and equation keeps the code looking nice. And don't forget to punctuate your equations and to use \noindent at the start of text which comes after a displayed equation where there's no paragraph break.
  • Cross references should always group strongly. For example, there should never be a line or page break in the middle of "Section 5.4". Use a non-breaking space to achieve this: ... Section~\ref{sec:MyRef} or define an appropriate set of macros to help. egrep can help search for missed examples of this, e.g. egrep -n --color "\\\\Figure$|\\\\Equation$|\\\\Equation~\\\\ref|\ \\\\Chapter |\\\\Chapter$|\\\\Section |\\\\Section$|\\\\Page |\ \\\\Page$|\\\\Table |\\\\Table$" *.tex which I use since I've defined a set of dumb \Section etc. macros to keep the references consistently formatted (and easily changed).
  • Another convention to decide on is whether or not to leave a space between words and the square brackets of a citation. Richard Batley mentions that he favours a half-space which is perhaps most easily enforced by re-defining \cite with \let\OldCite\cite \renewcommand{\cite}[1]{\mbox{\!\!\!\OldCite{#1}}} and using egrep to ensure that \cite is always called with a space in front of it: egrep -n --color "^\\\\cite| \\\\cite" *.tex

Stylistic issues

  • Cut out pretentious bits as you proof-read. If you put a sentence in just because it shows how much you know but it doesn't add anything to the point being made, then removing it will improve the work. We all do it, don't worry :-)
  • Keep it simple. Reduce sentence lengths, don't use sub-clauses, avoid parentheses and colons where possible. Try to be elegant and expressive!
  • Punctuation in an itemize (bullet point) block should be consistent. A good convention is to introduce the block with a colon, to end each but the last point with a semi-colon and to have a semi-colon followed by "and" for the second-last point. Start each bullet point with a lower case character.
  • Be consistent in how you list units in tables and on plot axes. Noting the units in square brackets is common and avoids the problems assoiated with normal parentheses or (particularly) separating with an oblique, which tends to look like a mathematical division.
  • Establish certain conventions like whether you'll use "ise" or "ize" endings for words like "factorise"/"factorize" and check at the end with a grep over your *.tex files. Check for these along with common mis-spellings in your final draft, again using grep or aspell. For really commonly-used conventions, think about making a macro for it.
  • And finally, remember to spell-check it! aspell is an excellent utility for this on Linux and it has some understanding that it shouldn't touch LaTeX macros.

That's all, folks

If you've got any comments, please address them to Andy Buckley via www.insectnation.org.