← Back to all sparks
T

tufte

COLLAB
Velocity0.0

R Markdown output formats reproducing the Tufte handout style for documents

After three quiet years, tufte 0.15 finally lets Tufte-style documents cross-reference.

r-markdowntypesettingbookdownpandoc-compatmargin-figures
Current state
Almost every release before the latest is a Pandoc compatibility fix — sidenotes breaking on Pandoc 2.15, margin references misplaced on 2.11, table and citation handling in `tufte_handout()`, `--wrap preserve` for margin content on 2.19. Then 0.15.0 in May 2026 breaks the pattern: `tufte_handout2()`, `tufte_book2()` and `tufte_html2()` wrap the corresponding bookdown formats, enabling text references and cross-references in captions, and `margin_fig_pos` gives global control over margin-figure placement.
Where it's heading
The package spent years absorbing upstream Pandoc churn without adding anything, and has now moved to sit on top of bookdown rather than reimplement around it. That is the sustainable direction for a format package this small: inherit cross-referencing and text references instead of maintaining a parallel implementation. Release intervals remain long, so this is unlikely to become a fast-moving package.
Prediction
Expect the bookdown-backed formats to absorb further fixes as the recommended path, with the plain `tufte_*()` formats staying frozen against Pandoc changes.

Recent moves

  1. 2mo ago

    tufte 0.15.0

    Adds bookdown-wrapping `tufte_handout2()` / `tufte_book2()` / `tufte_html2()` formats that unlock text references and cross-references in captions, plus a `margin_fig_pos` control and fixes for margin figures under `fig.align`. The first release in the window to add capability rather than chase Pandoc.

    View source ↗
  2. 3y ago

    tufte 0.13 fixes margin content on Pandoc 2.19

    Adds `--wrap preserve` so margin content survives Pandoc 2.19. Another entry in the long compatibility sequence.

    View source ↗
  3. 4y ago

    tufte 0.12 restores sidenotes on Pandoc 2.15

    Repairs footnotes-as-sidenotes under Pandoc 2.15 — the package's defining feature, broken by upstream and patched back.

    View source ↗
  4. 4y ago

    tufte 0.11 fixes tables and citations in handouts

    Fixes Pandoc table support in `tufte_handout()` and updates the LaTeX template for citation processing. Compatibility maintenance.

    View source ↗
  5. 5y ago

    tufte 0.10 fixes margin references with link-citations

    Corrects references landing in the wrong margin when `link-citations: yes` is used on Pandoc 2.11+. Narrow fix, same upstream-churn pattern.

    View source ↗
  6. 5y ago

    tufte 0.9 adds CSLReferences for Pandoc 2.11 citeproc

    Adds the `CSLReferences` environment required by Pandoc 2.11's citeproc and switches `tufte_handout()` to knitr's default `tidy` setting.

    View source ↗