r语言 - LaTeX 符号未正确转换为 Moodle



当我使用exams2moodle()生成完形填空测验时,LaTeX 符号未正确生成。

示例:(在 .Rmd 文件(:...$hat{p}$

在 Moodle 中,它显示为:hat{p}

(观察:它在exams2html()中有效。

它被转换为:<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mover><mi>p</mi><mo accent="true">^</mo></mover><annotation encoding="application/x-tex">hat{p}</annotation></semantics></math>

最后:如果我在 Moodle 中编辑问题并更改为$$hat{p}$$,一切都有效。但这样,我会有很多版本,这是非常糟糕的。

为了将LaTeX包含在R/exams中基于HTML的输出中,没有单一的最佳解决方案。所有解决方案都有潜在的缺点。

  • 默认情况下,exams2moodle()将数学方程式转换为 MathML,可以通过各种浏览器直接渲染(建议使用 Firefox(。优势:MathML在Firefox中看起来不错,不需要在服务器端或客户端的进一步支持。缺点:在某些浏览器中不起作用,特别是在 Chrome 中不起作用。

  • 作为替代方案,方程也可以嵌入到LaTeX中并由MathJax呈现(在服务器端,即不是由浏览器(。优势:适用于所有浏览器。缺点:需要在服务器上安装并可以使用 MathJax 脚本。用户需要在浏览器中启用 JavaScript。

由于MathJax似乎在您的Moodle安装中可用,因此我建议您在练习中利用它(这也将解决您报告的问题(。这可以简单地

打开
exams2moodle(..., converter = "pandoc-mathjax")

编辑:更详细的解释现在可以在 http://www.R-exams.org/tutorials/math/。

最新更新