Rendering documents and websites
April 1, 2026
Quarto is “an open-source scientific and thechnical publishing system”.
Allows you to
write a document containing both:
render these documents into a variety of output formats.
Where does the name come from?

Some of the output formats Quarto can render to include:
If you are familar with R, you have likely heard of the Rmarkdown package.
Rmarkdown allows writing R code + markdown in the same file, and compiling documents.
Quarto is the successor to Rmarkdown.
Today we will cover:
Next class, we will cover:
Each Quarto Document (file extension “.qmd”) has two sections:
The header of a Quarto document is written in YAML (yet another markup language).
It controls the settings for this document.
YAML is a markup language that uses indentation to declare nested settings.
: to declare settings- to declare items in a listExample:
Quarto uses markdown for text content.
Since Quarto uses markdown, you can write math equations using LaTeX syntax.
$ $Rendering \sum_{i=0}^{\infty}x^i as inline math: \(\sum_{i=0}^{\infty}x^i\).
$$ $$ to make a block of math:\[ \sum_{i=0}^{\infty}x^i \\ \max_{a} \int_0^1 U(a) \]
Change the format: yaml setting to “pdf”.
Quarto will
You will need to first have LaTeX installed on your computer.
If you don’t, after installing quarto, run quarto install tinytex in the terminal (PDF Engines Doc).
Typst is a new typesetting system that is an alternative to LaTeX.
Typst is:
IMO: Typst is trying to be in between mardown and LaTeX.
Sometimes you may want an html page and a PDF:
Projects are useful when working
Quarto has a some project types and templates that you can choose from:
In VS Code, you can also create a Quarto project from the Command Palette.
_quarto.yml is a YAML file of settings.
Declares this folder as a Quarto Project.
_quarto.yml exampleHere is an example _quarto.yml file for a project:
Some of the project level settings affect how Quarto behaves, but not the documents themselves.
For instance, I could include in my project yaml:
This causes Quarto to re-render documents every time I save any changes.
Other project level settings affect the behavior of the documents in the project.
For instance, I could include in my project yaml:
This would apply the “styles.css” stylesheet to all documents in the project that are rendered to HTML.
I could overwrite this style by specifying a different stylesheet in the document yaml header.
A Quarto website is a specifc type of Quarto project.
It consists of:
_quarto.yml to control website settingsQuarto builds your website using Bootstrap and a bunch of default theming options.
_quarto.ymlHere’s an example website project yaml, with a navbar and a theme.
Here is a simple home page for the website.
If we want to add a link to another page in our document, we can reference the quarto file.
The structure of this Quarto website project looks like this:
my-quarto-website/
├── _quarto.yml
├── index.qmd
├── about.qmd
├── styles.css
├── docs/
├── index.html
├── about.html
We only ever edit the .qmd files and the _quarto.yml file.
Quarto creates everything in the docs/ folder when we render the website.
Quarto…
.qmd files in the project,_quarto.yml settings,Create a Quarto project (a website)
Edit and render the website
Look at the quarto-academic-website template