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.