当我的 .Rmd 文件中有 $$\mathbf{x}$$ 并将exams2moodle与pandoc-mathml转换器一起使用时,xml文件包含一个“”字符,需要在moodle之前用“x”字符替换将导入测验问题(因为moodle会给出一个错误,说明文件不是没有BOM的UTF-8。)
我想知道最实用的解决方法是什么?这是一个错误吗?谢谢!
最小示例:这是 minimum_example.Rmd
Question
========
Stare hard at the variable.
$$\mathbf{x}$$
What is its value?
Solution
========
If you think hard enough, you will know it is 12.
Meta-information
================
extype: num
exsolution: 12
exname: minimal_example
extol: 0
这是 minimum_example.r
library("exams")
exams2moodle("minimal_example.Rmd", converter="pandoc-mathml")
而且...这是生成的 .xml 文件的片段。
...
<questiontext format="html">
<text><![CDATA[<p>
<p>Stare hard at the variable. <math display="block" xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mstyle mathvariant="bold"><mi></mi></mstyle><annotation encoding="application/x-tex">\mathbf{x}</annotation></semantics></math> What is its value?</p>
</p>]]></text>
</questiontext>
...
如果我尝试将 XML 导入我学校的 Moodle 中,我会收到 dmlwriteexeption 错误。如果我将“”替换为“x”,则 XML 导入正常。
我相当确定我的 moodlequiz.xml 文件不包含 BOM。
$ file moodlequiz.xml
moodlequiz.xml: XML 1.0 document, UTF-8 Unicode text, with very long lines
$ hexdump -n 3 -C moodlequiz.xml
00000000 3c 3f 78 |<?x|
00000003
我认为这个问题已经解决。希望没有其他人有这个问题,我将为我自己的文件使用建议的解决方法之一。谢谢!