A template for Stanford PhD dissertations and theses, available as both a pure Typst template and a Quarto custom format. Based on the official Stanford formatting requirements and the suthesis-2e.sty LaTeX template.
Disclaimer: The Office of the University Registrar does not endorse or verify the accuracy of any dissertation or thesis formatting templates. Always check your output against the current requirements before submitting.
quarto use template StanfordHPDS/typst-stanford-thesisThis will install the format extension and create a Quarto Book project with example chapter files that you can use as a starting place for your dissertation.
The template uses a Quarto Book project. Thesis metadata goes in _quarto.yml:
project:
type: book
book:
title: "Your Dissertation Title"
author:
- name: Your Name
chapters:
- index.qmd
- chapters/chapter-2.qmd
- chapters/chapter-3.qmd
bibliography: references.bib
department: Your Department
degree: Doctor of Philosophy
department-prefix: "Department of"
submission-month: June
submission-year: "2026"
abstract: |
Your abstract text here.
acknowledgments: |
Your acknowledgments here.
dedication: |
*To someone special.*
show-toc: true
show-lof: true
show-lot: true
format:
stanford-thesis-typst: defaultEach chapter is its own .qmd file. Add or remove chapter files and update the chapters: list in _quarto.yml to match.
Render with:
quarto render| Option | Default | Description |
|---|---|---|
title |
(required) | Dissertation title |
author |
(required) | Author name |
department |
(required) | Department or program name |
degree |
"Doctor of Philosophy" |
Degree name |
department-prefix |
"Department of" |
Use "Program in" or "Committee on" as needed |
submission-month |
— | Month of submission to the Registrar |
submission-year |
— | Year of submission |
abstract |
— | Abstract text |
acknowledgments |
— | Acknowledgments text |
dedication |
— | Dedication text (centered on its own page) |
preface |
— | Preface text |
show-toc |
true |
Show table of contents |
show-lof |
true |
Show list of figures |
show-lot |
true |
Show list of tables |
section-numbering |
"1.1" |
Heading numbering format |
chapter-prefix |
"Chapter " |
Label before chapter numbers |
appendix-prefix |
"Appendix " |
Label before appendix letters |
The template supports the standard Quarto Book structure features:
Unnumbered chapters — Add {.unnumbered} to a chapter heading to omit the "Chapter N" prefix and numbering:
# Introduction {.unnumbered}Parts — Organize chapters into parts. Part divider pages are centered with Roman numeral labels (Part I, Part II, etc.):
book:
chapters:
- index.qmd
- part: "Theory"
chapters:
- chapters/background.qmd
- chapters/methods.qmd
- part: "Applications"
chapters:
- chapters/results.qmd
- references.qmdReferences page — Control bibliography placement with a references.qmd file containing the {#refs} div. The bibliography renders at this location instead of being appended at the end:
# References {.unnumbered}
::: {#refs}
:::Appendices — List appendix files under appendices:. Quarto generates a centered "Appendices" divider page and switches to A, B, C numbering:
book:
appendices:
- chapters/appendix-a.qmd
- chapters/appendix-b.qmdConfigurable prefixes — Customize the "Chapter" and "Appendix" heading labels:
chapter-prefix: "Ch. "
appendix-prefix: "App. "The template defaults to Times New Roman (with Libertinus Serif as fallback). See the Stanford formatting requirements for the full list of acceptable fonts.
Override via the standard Quarto mainfont option:
format:
stanford-thesis-typst:
mainfont: "New Computer Modern"You can also use the template directly with Typst, without Quarto. See sample-thesis/ for a complete example.
#import "stanford-thesis.typ": thesis, part
#show: thesis.with(
title: "Your Dissertation Title",
author: "Your Name",
department: "Your Department",
degree: "Doctor of Philosophy",
submission-month: "June",
submission-year: "2026",
abstract: [
Your abstract here.
],
acknowledgments: [
Your acknowledgments here.
],
)
// Unnumbered intro
#heading(level: 1, numbering: none)[Introduction]
Your intro here.
#part("Theory")
= Methods
Your methods here.
#bibliography("your-references.bib")Compile with:
typst compile sample-thesis/main.typ --root .The --root . flag is needed so Typst can access stanford-thesis.typ from the project root.