quarto-dev / quarto-dev/quarto-cli
Typst "Grid Customization" lists `body-width`, but it has no effect
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 458
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 41
Description
What would you like to do?
Report an issue on quarto.org
Description
Page: https://quarto.org/docs/output-formats/typst.html#grid-customization
The Typst Grid Customization section documents three grid options:
| Option | Description (current docs) |
|---|---|
margin-width |
Width of the margin note column |
body-width |
Width of the main text column |
gutter-width |
Gap between body text and margin |
…and the example sets all three:
format:
typst:
grid:
margin-width: 2in
body-width: 4in
gutter-width: 0.25in
However, body-width is silently ignored. Quarto's geometry calculation reads it but never uses it.
For reference, the mapping lives in typstGeometryFromPaperWidth — margin-width/gutter-width are consumed but body-width is not:
If we view this as a docs issue, I think the solution is:
- Drop
body-widthfrom the Typst grid table. Remove it from the example. - Clarify the two that work:
margin-width— width of the margin note column.gutter-width— gap between the body and the margin column.
- Note that the body width is whatever space is left over and point to
margin-geometryfor full control.
However, we could potentially honor body-width if zero or one of margin-width and gutter-width is supplied, and warn if all three are supplied. @gordonwoodhull, if you think that's a better fix, feel free to relabel.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the Typst grid customization page linked in the issue and inspect the documented options and example. Check src/resources/filters/layout/meta.lua at typstGeometryFromPaperWidth to confirm the current behavior; done means the page documents only the supported settings, explains the remaining body width, and points to margin-geometry.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 62/100