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

Quarto Revealjs如何基于YAML参数生成不同版本演示文稿?

Quarto RevealJS双版本幻灯片条件渲染修复方案

你之前用.content-visible的写法不符合Quarto的条件渲染规范,导致内容无法按参数隐藏。以下是几种可靠的替代实现方式:

方案1:原生条件短代码(最推荐)

使用Quarto官方支持的{{< if >}}短代码包裹需要条件显示的内容,这是最稳定的写法:

{{< if params.version == "presenter" >}}

## Solution to Task 2

2 + 2 = 4 

{{< end >}}

YAML参数保持原有设置即可:

params:
  version: "student" # 改为"presenter"即可生成讲师版

方案2:结合RevealJS片段功能(适合演示时逐步展示)

如果讲师需要在演示过程中逐步显示解答,可以把RevealJS的片段动画和条件渲染结合:

## Task 2
计算2+2的结果

{{< if params.version == "student" >}}
::: {.fragment}
*提示:自行计算后,讲师版将展示完整解答*
:::
{{< end >}}

{{< if params.version == "presenter" >}}
## Solution to Task 2
::: {.fragment}
2 + 2 = 4 
:::
{{< end >}}

方案3:针对代码类解答的条件渲染

如果解答包含代码块,可直接用短代码包裹代码区域:

## Task 2
用R计算2+2的结果

{{< if params.version == "presenter" >}}
## Solution to Task 2
```r
2 + 2

输出结果:

[1] 4

{{< end >}}

## 验证渲染命令
渲染时可通过命令行指定参数,确保版本切换生效:
- 生成学生版:
  ```bash
  quarto render your-slides.qmd -P version=student
  • 生成讲师版:
    quarto render your-slides.qmd -P version=presenter
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 19:52:10