这个简短的答案是:(据我所知)无法\isotope
使用 MathML 或 MathJax 呈现命令。另请参阅此讨论:如何在 R/exams 中使用 LaTeX 包?
有两种可能的解决方法:
选项1
像往常一样使用 pdfLaTeX编译\isotope
命令,提取图像(例如,在 SVG 矢量图形中),并将其嵌入到练习中。所有这些都可以通过该tex2image()
功能方便地完成。
好处是你可以使用isotope
你习惯的包。但是,也有一些缺点: 渲染速度相当慢,尤其是当您需要许多这样的图像时。图形的缩放可能与文本的缩放不匹配,尤其是在放大 HTML 时。您需要的图形类型取决于输出类型(HTML 与 PDF)等。
选项 2
与其使用专门的软件包,不如使用标准的 LaTeX 命令模拟输出。在这种情况下,使用\sideset
命令 fromamsmath
将是一种选择,因为该amsmath
软件包受 MathJax 支持(但不在 MathML 转换器中)。缺点:LaTeX 代码稍微麻烦一些。优点:非常快,可以在 HTML 中缩放,也可以在 PDF 中使用。因此,我会推荐选项 2。
例子
以下是您的foo.Rnw
文件的改编代码。这可以通过以下方式呈现为 HTML:
exams2html("foo.Rnw", converter = "pandoc-mathjax")
这也是当前版本的 R/exams 使用的转换器exams2moodle()
。
<<echo=FALSE, results=hide>>=
tex2image("\\isotope[A][Z]{H}", packages = "isotope",
name = "iso_AZH", format = "svg", dir = ".")
@
\begin{question}
Option 1: \includegraphics{iso_AZH.svg}
Option 2: $\sideset{_Z^A}{}H$
\begin{answerlist}
\item a
\item b
\item c
\item d
\end{answerlist}
\end{question}
\exname{foo}
\extype{schoice}
\exsolution{0001}