Skip to content

jogaudard/phdthesis_toolbox

Repository files navigation

Thesis Quarto Template

Joseph Gaudard

At the University of Bergen (probably other places too), it is required to have a table presenting the author contributions from all the papers included in the thesis. Doing it manually is prone to errors, or forgetting to update, and annoying if some papers had many co authors. Here I am showing how I did it for me. It is not a super elegant solution, but it works, it is automated and I thought I’d share in case it is useful to others. We are going to use the Plume R package Gallou (2024), the multibib extension and the bold-author filter. Additional resources used in this tutorial were found in this blog post. If you use this repo as a template you should be all set.

References and list of papers

I have three bib files:

  • Papers that are included in the thesis (phd_paper.bib)
  • Papers and outreach pieces that are not included but were done during the time of the thesis (others.bib)
  • Standard bibliography as produced by Zotero (refs_list.bib).

We want a list of scientific contributions at the beginning of the thesis, with a formatting on the line of “Paper I: Author and other (Year) Title. Journal.”. But in the actual references at the end of the thesis, we want all the papers (including the ones not included in the thesis) to appear in the same list, with proper formatting (et al. after a certain number of authors, doi link, etc), and no author name in bold. To achieve that, I create the list of scientific contributions in a separate qmd file (paper_list.qmd) that outputs a md file. In the main file (phdthesis.qmd), I add an {{< include paper_list.md >}}.

In paper_list.qmd, I use multibib to create two separate bibliographies, one for the papers included in the thesis, and one for the other contributions. In the yaml, I add nocite: with the keys of the items from phd_paper.bib and others.bib since there are not cited in the text. In the main thesis file, I just have one bibliography including all the references from the three bib files.

Note that if no items from one of the bibliographies is called, it will throw an error. Which means that when you are just starting, you should just call at least one reference of each to be able to render.

To display the PhD papers with “Paper I:” before the entry, I did not find a better solution than modifying the entry in the bib file, before the first author.

Table with author contributions

To setup the Plume workflow, I can only point to Arnaud’s excellent documentation. Ideally you have done that for the papers already, so the google sheets with author contributions are all set and you can reuse them. In the code bloc contributions, I wrote the contrib_paper function that transforms the output of Plume into a table. Then the tables of the different papers are joined together (use full_join in case some contributions appear for one paper and not the others).

List of authors with affiliations

The list of authors and affiliations is produced with Plume. The only tricks here are to first bind together the author tables from the different paper, apply unique to avoid duplicates, and add a ranking (optional). The ranking allows you to force the order if you want to have everyone in alphabetical order, but yourself first following by your supervisors and then the other co authors.

References

Gallou, A. (2024), Plume: A Simple Author Handler for Scientific Writing, Manual,.

About

Some technical tricks to write a PhD thesis in Quarto

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published