You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarto标题在Typst渲染中层级上移,如何实现层级对应?

解决Quarto与Typst模板标题层级不匹配的问题

问题原因

Quarto 默认会将文档 YAML 头部的 title 字段渲染为 Typst 的 level 1 标题,文档内用 #~#### 定义的标题会自动顺延为 Typst 的 level 2~level 5,最终导致所有标题层级整体上移一级,出现样式错位。

解决方案

方案1:禁用YAML标题作为Typst层级标题

在 Quarto 配置文件(_quarto.yml 或文档内的 YAML 块)中添加 title-as-heading: false,YAML 中的标题会作为独立文档标题,而非 Typst 的层级标题,文档内的 #~#### 会直接对应 Typst 的 level 1~level 4:

format:
  typst:
    template: typst-template.typ
    title-as-heading: false

方案2:调整Typst模板的样式层级

如果需要保留 YAML 标题作为 Typst 的 level 1,将模板中所有标题样式的 level 值整体加1即可。比如原本给 level 3 标题设置下划线的代码:

#show heading.where(level: 3): it => underline(it)

修改为:

#show heading.where(level: 4): it => underline(it)

这样 Quarto 文档中的 ###(对应 Typst 的 level 4)就会应用下划线样式,和预期对应。

方案3:自定义标题层级偏移量

通过设置 heading-level-offset 参数调整层级映射,让 Quarto 的标题层级直接对应 Typst 的层级:

format:
  typst:
    template: typst-template.typ
    heading-level-offset: 0

该参数会覆盖默认的层级偏移,使 Quarto 的 # 直接对应 Typst 的 level 1,无需修改模板样式。

内容的提问来源于stack exchange,提问作者Honestiore

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 04:25:01