Skip to content

Template for writing an Oxford University thesis in R Markdown; uses the OxThesis LaTeX template and was inspired by thesisdown.

Notifications You must be signed in to change notification settings

bmvandoren/oxforddown

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Oxforddown

A template for writing an Oxford University thesis in R Markdown.

See the video tutorials for how to use the template:

For how to write your content with the R Markdown syntax, read through the sample content.

The template uses the bookdown R package together with the OxThesis LaTeX template, plus lots of inspiration from thesisdown.

Examples of theses written with oxforddown

NOTE: If you've used this template to write your thesis, drop me a line at ulrik.lyngs@cs.ox.ac.uk and I'll add a link showcasing it!

How to cite

DOI

@misc{lyngsOxforddown2019,
  author = {Lyngs, Ulrik},
  title = {oxforddown},
  year = {2019},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/ulyngs/oxforddown}},
  doi = {10.5281/zenodo.3484682},
}

Requirements

  • LaTeX - if you're lazy and got sufficient disc space, just download and install the MacTeX distribution from tug.org/mactex/. If you're short on disc space, go for the BasicTeX distribution from the same site.
    • (For unclear reasons, Yihui Xie's TinyTeX sometimes causes trouble! If you are unable to get the PDF output to work with TinyTex, try uninstalling it with tinytex::uninstall_tinytex(), then install the MacTeX LaTeX distribution and restart RStudio.)
  • R and RStudio version 1.2 or higher
    • (pandoc version 2 or higher - comes bundled with RStudio v1.2+)
  • The R packages bookdown, tidyverseand kableExtra (should be automatically installed for you if you don't already have them, when you build this project for the first time in RStudio)
  • (If on a Mac): Command line developer tools. You can install these by typing xcode-select --install in a terminal prompt

Example output

Usage

  • clone the ulyngs/oxforddown repo or download it as a zip
  • open oxforddown.Rproj in RStudio

Compiling your thesis

PDF output

  • click 'Build All' on the 'Build' tab or type 'make pdf' in the terminal (not the R console!)
  • the compiled PDF is saved as docs/_main.pdf, and the PDF is opened

Gitbook output

  • in the terminal tab (not the R console!), type 'make gitbook'
  • the set of HTML files for the gitbook are stored in the docs/ folder, and the front page (docs/index.html) is opened in a browser
  • if you want to deploy your thesis as a gitbook on GitHub Pages, then make sure that there's a .nojekyll file in the docs/ folder (otherwise GitHub does some voodoo that causes some paths not to work)

Word output

  • in the terminal tab (not the R console!), type 'make word'
  • the compiled MS Word document is saved as docs/_main.docx and opened

The Word output has no template behind it, and many things do not work (e.g. image rotation, highlighting corrections). I encourage pull requests that optimise the Word output, e.g. by using tools from the officer package.

Writing your thesis

To use this template to write your thesis, do the following:

  • update the YAML header (the stuff at the top between '---') in index.Rmd with your name, college, etc.
  • write the individual chapters as .Rmd files in the root folder - the introduction chapter must be named _00-introduction.Rmd.
  • write the front matter (abstract, acknowledgements, abbreviations) and back matter (appendices) by adjusting the .Rmd files in the front-and-back-matter/ folder
  • for abbreviations, change front-and-back-matter/abbreviations.tex to fit your needs (follow the LaTeX syntax in there)

.Rmd files you don't want included in the body text must be given file names that begin with an underscore (e.g. front-and-back-matter/_abstract.Rmd and front-and-back-matter/_acknowledgements.Rmd). (Alternatively, specify manually in _bookdown.yml which files should be merged into the body text.)

Knitting individual chapters

To knit an individual chapter without compiling the entire thesis:

  1. open the .Rmd file of a chapter
  2. add a YAML header specifying the output format(s) (e.g. bookdown::word_document2 for a word document you might want to upload to Google Docs for feedback from collaborators)
  • To output a single chapter to PDF, use bookdown::pdf_documents2: template: templates/brief_template.tex - this will format the chapter in the OxThesis style but without including the front matter (table of contents, abstract, etc)

The output file is saved in the root folder.

Cleaning up generated auxiliary files

By default, when you build the entire thesis, the auxillary files will be removed (to adjust how this is done, edit Makefile).

To clean up files generated when knitting individual chapters, type 'make clean-knits' in the terminal.

Limitations

  • at the moment only PDF and HTML output have been properly implemented; I may improve on the Word output further down the line

Enjoy!

About

Template for writing an Oxford University thesis in R Markdown; uses the OxThesis LaTeX template and was inspired by thesisdown.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TeX 99.7%
  • Other 0.3%