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

如何在R Exams的schoice题型中使用表格作为选项?

解决schoice题型中pandoc格式表格选项的问题

核心需求

要创建schoice题型习题,5个选项均为带CDF的表格(非图片形式),要求:

  • 使用pandoc格式生成表格
  • 支持数学模式(如含$\leq$的列名)

解决方案

1. 批量生成支持数学公式的pandoc表格

定义函数批量创建符合要求的CDF表格,通过escape = FALSE保留LaTeX数学符号,让pandoc正确渲染:

# 封装CDF表格生成函数
create_cdf_table <- function(cdf_val, condition = "$x \\leq 0$") {
  data.frame(
    "F(x)" = condition,
    "累积概率" = cdf_val
  ) |> 
    kableExtra::kbl(format = "pandoc", escape = FALSE)
}

# 生成5个选项的表格列表
sc$questions <- list(
  create_cdf_table("0", "$x < -1$"),
  create_cdf_table("$\\frac{1}{3}$", "$-1 \\leq x < 0$"),
  create_cdf_table("$\\frac{2}{3}$", "$0 \\leq x < 1$"),
  create_cdf_table("1", "$x \\geq 1$"),
  create_cdf_table("$\\frac{1}{2}$", "$x \\leq 0$")
)

2. 用answerlist输出表格选项

通过results = "asis"让R直接输出Markdown内容,markup = "markdown"确保pandoc表格被正确解析:

```{r questionlist, echo = FALSE, results = "asis"}
answerlist(unlist(sc$questions), markup = "markdown")
### 关键说明
- `escape = FALSE`:禁止kable转义LaTeX语法,确保$\leq$、分数等数学表达式正常渲染
- 用列表存储表格:避免字符串拼接时破坏pandoc表格的格式结构
- 函数封装:简化批量创建不同CDF表格的操作,便于后续修改调整

内容的提问来源于stack exchange,提问作者Sinval
相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 05:21:15