Creating my own PhD thesis template with Quarto
Over the last two years I have really started to use Quarto for everything in my academic work from writing manuscripts, websites for research projects, data dashboards for workshops, chain letter writing, and presentations. So when it came to writing my PhD thesis I already knew I wanted to use Quarto.
For those not familiar with Quarto, some of the big advantages it offers for a project like this is the ability to include Python and R code chunks that are computed when the document is rendered. It also connects directly with my scientific literature tool of choice, Zotero, for easy compilation of the bibliography. Finally in terms of formatting it allows you to mix in Markdown, LaTeX and HTML.
My thesis is a cumulative paper thesis and I had already written two of my academic papers using Quarto so integrating these was as simple as copying over the relevant files. As for the other papers that had been written in Word these were very simple to convert to Markdown format, especially with the help of ChatGPT which I find to be very accurate for tasks.
In terms of an appropriate Quarto template, I found several existing examples:
However, none quite fit the specifications of my university (ETH Zurich) and my personal formatting preferences. So I decided to take the quarto-phd-thesis
template from james-d-h
and build upon it to make it my own. The main features I added were:
The ability to add a cover page using the
quarto_titlepages
extensionCustom R functions to ensure consistent formatting of all figures and tables according to user specified color palettes.
Use of
.Rprofile
to manage package loading across chaptersThe ETH Zurich title page and a translated version of the summary into one of the Swiss national languages.
Custom Quarto call-out boxes to display the details of published articles at the start of chapters including a visualization of author CRediT contributions.
Additional LaTeX formatting
I have called the resulting template quarto-eth-phd-thesis
and it is available via Github here: https://github.com/blenback/quarto-eth-phd-thesis. There is a detailed README in the repo but I have also written the instructions in page on my website: https://blenback.github.io/quarto-eth-phd-thesis.html
Here is an example PDF showing some of the features: