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

使用R/exams包生成Moodle习题时静态图片无法显示问题

解决R exams包生成Moodle/HTML习题时图片不显示的问题

问题分析

你遇到的问题是:使用include_supplement添加静态图片后,exams2pdf能正常显示图片,但exams2html和exams2moodle无法显示,还重复显示图片标题。核心原因大概率是路径解析错误(文件名含特殊字符、绝对路径干扰、同步目录路径异常)或补充文件复制逻辑未生效。

解决方案

1. 清理文件名与路径

文件名中的空格、特殊字符(如括号、连字符)会导致URL解析异常,建议重命名图片为无特殊字符的名称,比如将Saving R Script File.png改为Saving_R_Script_File.png。

同时,避免将文件放在OneDrive等同步目录(路径含特殊标识),移到本地普通目录(如C:/R-Exams/STAT110/Q2),减少路径解析干扰。

2. 简化include_supplement调用

因为图片与Rmd文件在同一目录,无需指定dir参数,直接调用即可:

exams::include_supplement("Saving_R_Script_File.png")

3. 调整Markdown图片引用

修改Rmd中的图片引用,使用重命名后的文件名:

![Caption](Saving_R_Script_File.png)

4. 显式指定输出目录

调用exams2html或exams2moodle时,通过dir参数指定输出目录,确保补充图片被正确复制到输出目录的子文件夹中:

生成HTML习题

exams2html("test_qn.Rmd", dir = "html_output")

执行后,图片会被复制到html_output/images目录,HTML文件会自动引用该路径。

生成Moodle习题

exams2moodle("test_qn.Rmd", output = "moodle_question.xml", dir = "moodle_output")

图片会被复制到moodle_output/images,生成的XML文件会包含正确的图片路径,导入Moodle后即可正常显示。

5. 验证工作目录

确保运行exams2html/exams2moodle时,R的工作目录是Rmd文件所在的目录(可通过setwd()切换),或直接用完整路径指定Rmd文件:

exams2moodle("C:/R-Exams/STAT110/Q2/test_qn.Rmd", output = "moodle_question.xml", dir = "moodle_output")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 13:23:13