Implementing my dissertation
Okay, I am finally getting around to writing something, as requested, about how I implemented my dissertation.
I used pdfLaTeX for several reasons:
- I needed to integrate material from existing papers written in LaTeX.
- Using standard LaTeX means that you need to fiddle
dvips/dvipdfso that that they will find the appropriate fonts. Using pdfLaTeX requires some configuration too, but it all happens in a single step. - It has support for microtypography, which generally produces better looking text with fewer bad breaks.
I had thought about trying luatex to allow me to automate a few things better, but I decided against it because it might have slowed me down.
I then used the memoir class. I was able to use that with relatively little configuration. The only major change I made from the defaults involved the configuration for the chapter titles. I did however wind up needing to use a slightly modified version of the class file itself. This was necessary so that I could use raised dots (·) instead of periods as separators; there was simply no way to configure this for some parts of the document otherwise.
For the bibliography I used Chung-chieh Shan's McBride BibTeX style. I made a slight change to that so that the three emdashes for repeated authors did not have space in between them.
I use Didier Rémy's mathpartir package for typesetting inference rules.
I used my tool otftofd to generate all the LaTeX infrastructure for the OpenType fonts I used. I hacked up some custom OMakefiles for the TrueType fonts. The bits I used for Dejvu Sans Mono are now part of the package I have made available.
I wrote a small sed script for converting my examples written in InforML with some special markup in comments into a form that could be accepted by LaTeX. This mostly involved escaping some characters and inserting uses of my macro for highlighting text.
That is everything I can think of from a high level. If there is something specific I did in my dissertation that you would like to know about, let me know.