[WIP] Thesis Writing Walkthrough
Estimated reading time: ~3 minutes with ~492 words.
I wanted to document all the steps in writing my thesis so that I could clean up my thesis generating procedure before I shelved it and forgot everything about it. A lot of the steps are manual and tiresome, which I would have improved on if I had the time, but maybe this series gives a platform for you to start off from.
(Un)fortunately, I had seen Ken Arroyo Ohori’s gorgeous thesis and his corresponding blog posts on a 1.5 column format in LaTeX and his LaTeX thesis workflow, so I got it into my head that I should (try to) make my thesis look pretty as well. This resulted in the ginormous waste of time you shall see below.
His thesis template was improved upon for public consumption by Federico Marotta, which you can find as the kaobook class on github. This was the starting point for my thesis. The github repo also has a list of theses that used this template, who already improved on the generic class for their personal versions. I took a look at them, and stole some content from the graciously open sourced theses of Pablo Donato and Théo Winterhalter. I made a few mistakes along the way that you should not make.
DO NOT USE LUALATEX IT’S SLOW AS SHIT STICK TO PDFLATEX.
That’s really the one mistake you shouldn’t make. I wanted to use lualatex for its better font handling (I wanted to use local fonts for other scripts, and also use different math fonts. I ended up testing many then settling back to libertinus. One reason I wanted this was for blacklettering my entire thesis for printing, but I shall let you know if I ever embark on that journey if the pain of using lualatex is worth it. I would guess that the answer is a strong no.). It took ages to compile each chapter even separately. I spent a day searching up fixes, something about loading fonts came up, but nothing worked. I lost so many of my brain cells waiting for it to compile. Don’t do this to yourself. The pdf also randomly started disappearing during synctex compilation if I used an external Libertinus font instead of the latex package for some reason. idk.
The way a thesis works in theoretical computer science is you staple some papers together into a thesis and throw in an introduction, which is sort of what I did. Getting the papers together with its different bibliographies with overlapping bib entries and common macros makes it a pain in the ass to put them together. My first job was getting all of it to compile together in one file.
[WIP]