Skip to content

Commit b33f9a3

Browse files
blog: address review feedback - lightbox groups, alt text, brand demo, copy edits
- Add lightbox with 4-col book and 3-col article screenshot groups - Add fig-alt text on all screenshots and image-alt in front matter - Add landscape thumbnail image - Add brand.yml customization example - Split long bullet, improve captions, fix callout tone, tighten closing
1 parent 6e6a55b commit b33f9a3

7 files changed

Lines changed: 39 additions & 13 deletions

File tree

docs/blog/posts/2026-02-xx-typst-books-etc/index.qmd

Lines changed: 39 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ title: Typst Books, Article Layout, and `typst-gather`
33
author: Gordon Woodhull
44
description: |
55
Quarto 1.9 adds Typst book projects, article margin layout via Marginalia, and offline package bundling with `typst-gather`.
6-
image: typst-book-article.png
6+
image: typst-article-landscape.png
7+
image-alt: A Typst article page showing code and a margin figure rendered with the Marginalia package
8+
lightbox: true
79
---
810

9-
Typst is a lightning-fast typesetting system that provides a modern alternative to LaTeX.
11+
Typst is a lightning-fast typesetting system that provides a modern alternative to LaTeX.
1012

1113
The Typst ecosystem is thriving, and Quarto 1.9 brings Typst much closer to feature parity with LaTeX:
1214

@@ -33,7 +35,16 @@ book:
3335
format: typst
3436
```
3537

36-
![](typst-book.png)
38+
::: {layout-ncol=4 group=book}
39+
![Part page](typst-book-part-page.png){fig-alt="A Typst book rendered with the orange-book extension, showing the part one page with a colored background and table of contents"}
40+
41+
42+
![Chapter page](typst-book-1.png){fig-alt="A Typst book rendered with the orange-book extension, showing the chapter one page with colored headers and sidebar navigation"}
43+
44+
![Chapter content](typst-book-2.png){fig-alt="A Typst book rendered with the orange-book extension, showing the second page from chapter one with colored headers and sidebar navigation"}
45+
46+
![Next chapter](typst-book-3.png){fig-alt="A Typst book rendered with the orange-book extension, showing the chapter two page with colored headers and sidebar navigation"}
47+
:::
3748

3849
All book features previously available in the LaTeX format are now available in Typst:
3950

@@ -44,7 +55,22 @@ All book features previously available in the LaTeX format are now available in
4455

4556
List-of-Figures and List-of-Tables support is [coming soon](https://github.com/quarto-dev/quarto-cli/issues/14081).
4657

47-
The default Typst book uses the bundled Quarto [quarto-orange-book](https://github.com/quarto-ext/orange-book) extension, which itself [bundles](#typst-gather) the Typst [orange-book](https://typst.app/universe/package/orange-book) package. Orange-book provides a textbook-style layout with colored chapter headers and sidebars.
58+
The default Typst book uses the bundled Quarto [quarto-orange-book](https://github.com/quarto-ext/orange-book) extension, which uses [`typst-gather`](#typst-gather) to bundle the Typst [orange-book](https://typst.app/universe/package/orange-book) package. Orange-book provides a textbook-style layout with colored chapter headers and sidebars.
59+
60+
The orange-book extension supports [brand.yml](/docs/authoring/brand.qmd) customization — it uses the `primary` color for chapter headers and sidebars, and the `medium` logo on the title page. The screenshots above were generated with this `_brand.yml`:
61+
62+
``` {.yaml filename="_brand.yml"}
63+
color:
64+
primary: "#F36619"
65+
secondary: "#2E86AB"
66+
67+
logo:
68+
images:
69+
test-logo:
70+
path: logo.svg
71+
alt: "Test Logo"
72+
medium: test-logo
73+
```
4874

4975
Since Typst books are implemented as Quarto [Format Extensions](/docs/extensions/formats.qmd), you can customize the appearance by creating your own extension. Typst partials define the overall book structure, while Lua filters handle the necessary AST transformations.
5076

@@ -54,25 +80,25 @@ Also in Quarto 1.9, all [Article Layout](/docs/authoring/article-layout.qmd) fea
5480

5581
Specifically:
5682

57-
* Figures, tables, code listings, and equations can be placed in the margin using the `.column-margin` class, or the `column: margin` code cell option. You can also target specific output types with `fig-column: margin` or `tbl-column: margin`.
83+
* Figures, tables, code listings, and equations can be placed in the margin using the `.column-margin` class or the `column: margin` code cell option.
84+
* You can also target specific output types with `fig-column: margin` or `tbl-column: margin`.
5885
* Figure, table, and code listing captions can be placed in the margin with `cap-location: margin` (or `fig-cap-location: margin` and `tbl-cap-location: margin` for specific types).
5986
* Footnotes and citations can be displayed in the margin with `reference-location: margin` and `citation-location: margin`. When margin citations are enabled, the bibliography is suppressed.
6087
* Asides (`.aside` class) place content in the margin without a footnote number.
6188

62-
![](typst-article.png)
89+
::: {layout-ncol=3 group=article}
90+
![Margin note and figure](typst-article.png){group="article" fig-alt="A page of a Typst article with a margin note and a margin figure using the Marginalia package"}
6391

92+
![Margin captions](typst-article-2.png){group="article" fig-alt="A page of a Typst article using margin captions"}
6493

94+
![Margin references](typst-article-3.png){group="article" fig-alt="A page of a Typst article using margin references"}
95+
:::
6596

6697
::: {.callout-warning}
6798
## Books with article layout are functional, but need work
68-
You can combine book and article layout, but the page layout is not perfect, so we will not show screenshots here. It is perfectly functional and will not require any further changes to Quarto, but Marginalia needs to be integrated into the book template.
69-
70-
We will work with the orange-book author to improve the default book template.
99+
You can combine book and article layout, but there are some layout quirks when combining the two. We'll work with the orange-book author to integrate Marginalia into the book template.
71100
:::
72101

73-
74-
![](typst-book-article.png)
75-
76102
## `typst-gather`
77103

78104
Quarto 1.9 automatically stages Typst packages — from your extensions, from Quarto's bundled extensions, and from Quarto itself — into the `.quarto/` cache directory before calling `typst compile`. This means Typst documents render offline without needing network access.
@@ -81,4 +107,4 @@ To make this work, extension authors use the new [`typst-gather`](/docs/advanced
81107

82108
This means [Custom Typst Formats](/docs/output-formats/typst-custom.qmd#custom-formats) can depend on Typst packages without copying and pasting Typst code, making them simpler and easier to maintain.
83109

84-
Both Typst books and article layout are built on `typst-gather` — orange-book depends on the Typst [orange-book](https://typst.app/universe/package/orange-book) package, and article layout depends on [Marginalia](https://typst.app/universe/package/marginalia/). As the Typst package ecosystem grows, we're excited to see what the community builds with these tools.
110+
Both Typst books and article layout are built on `typst-gather` — orange-book depends on the Typst [orange-book](https://typst.app/universe/package/orange-book) package, and article layout depends on [Marginalia](https://typst.app/universe/package/marginalia/). As the Typst package ecosystem grows, we're excited to see what the community builds with Typst packages.
331 KB
Loading
526 KB
Loading
400 KB
Loading
261 KB
Loading
389 KB
Loading

docs/blog/posts/2026-02-xx-typst-books-etc/typst-book.png renamed to docs/blog/posts/2026-02-xx-typst-books-etc/typst-book-3.png

File renamed without changes.

0 commit comments

Comments
 (0)