2026-09-01
We used rmarkdown
There was one package for each different task:
documentation sites
blogs
books
manuscripts
The syntax was different depending on the task
Quarto is an open-source scientific and technical publishing system that builds on standard markdown with features essential for scientific communication.
Literate programming system in the tradition of Org-Mode, Weave.jl, R Markdown, iPyPublish, Jupyter Book, etc.
For single documents (like these slides for example), a yaml header is required; the header contains
---
title: "Using Quarto for bioinformatics reporting"
author: "Rene Welch<br>CISR / onglab / UW Madison"
date: 2026-09-01
format:
revealjs:
theme: [slides.scss]
multiplex: true
transition: fade
chalkboard: true
footer: <a href="https://renewelch.me/talks/using_quarto">renewelch.me</a>
auto-stretch: false
resource-path:
- "images"
---without header, it still works though, but the general behaviour can be configured this way.
Generally speaking, a Quarto document is composed in two parts; the “chunks” like the one below, and the text that works with markdown syntax.
echo: "fenced" gives the code blocks like that;
eval: false is to not evaluate it.
The chunks are run from top to bottom, and for example the code above will return the plot:

I am using R here, but Quarto allows other languages like Python or Julia.
label is the name, can be used to reference plots / tables generated in the chunk.
execute properties:
include whether the elements generated in the chunk appear in the document
echo whether to add the code in the documents
eval whether to evaluate the code
fig-width and fig-height the size of the figure if one is being generated
out-width how wide the figure, e.g. out-width: "100%" to use all the available space
Modifications to the output is done within :::
::: {.panel-tabset}
## Histogram
## Density
:::
Using something like:
::: {.callout-important}
# Important message
The results ....
:::
yields:
Important message
The results ….
---
resources:
- "path/to/multiqc_report.html"
---
It looks as in: https://ong-research.github.io/SatTCR/cases/canine_tcr/qc.html
used when a task is repeated many times, and want the same plot / analysis for many elements
it is done in 3 steps

unparsed is a list of strings with the tabs in a each entry
parsed has the evaluated code with plots and stuff

In summary:
pdata into the environment that is evaluated in the templateWarning
Even though the code seems to be running in parallel, this just writes the code and evaluate it from top to bottom, therefore we need to be careful of not re-writing data that is going to be used downstream
I wrote the instructions in my blog too or the better version done in an R package by Danielle Navarro
typst is a new markup-based typesetting system that is designed to be as powerful as LaTeX while being much easier to learn and use
Many templates are already available here
It is seamless to install (for example academic-typst):


To get this cat:
Install the fontawesome quarto extension: quarto add quarto-ext/fontawesome
Write {{ < fa cat size=5x > } }
https://github.com/quarto-ext/fontawesome
other extensions: https://quarto.org/docs/extensions/

```{r}
#| label: "model-example"
#| include: true
#| echo: "fenced"
#| eval: false
int_model |>
tidy_zeroinfl() |>
mutate(
component = if_else(component == "conditional", "count", "zero")) |>
filter(term != "(Intercept)") |>
select(- df.error, - original_term, -statistic) |>
mutate(
term = case_when(
term == "treatmenttreat" ~ "treatment",
term == "conditionB16_mixed" ~ "mixed dose",
TRUE ~ "interaction")) |>
gt::gt(
groupname_col = "component", rowname_col = "term") |>
gt::fmt_number(one_of(c("estimate", "std.error"))) |>
gt::fmt_number(starts_with("conf")) |>
gt::fmt_percent("conf.level") |>
gt::fmt_scientific("p.value") |>
gt::cols_add(
psgn = if_else(p.value <= 0.05, "*", "")) |>
gt::cols_label(psgn = "")
```
opt_interactive can allow for multiple pagesThis package run the statistical model and sets the output in a publication ready table

Quarto authoring webinar https://jthomasmock.github.io/quarto-2hr-webinar/
Stephen Turner’s blog https://blog.stephenturner.us/p/quarto-books
Quarto’s gallery https://quarto.org/docs/gallery/
Using python and R together https://nrennie.rbind.io/blog/combining-r-and-python-with-reticulate-and-quarto/
Make pretty pdfs with typst https://nrennie.rbind.io/blog/pdf-quarto/making-pdf-with-quarto-typst-latex/
Parametrized reports in Quart https://nrennie.rbind.io/r-medicine-2026-parameterized-reports/slides/slides.html
Quarto and Python https://thomasmock.quarto.pub/python/#/TitleSlide