我正在使用exams2moodle()
创建考试测验。我想使用一些需要 LaTeX 包的数学符号amssymb
。我应该如何进行?
2 回答
TL;DR:amssymb
MathJax 支持 LaTeX 符号,它是标准 Moodle 安装中的默认渲染器。exams2moodle(..., converter = "pandoc-mathjax")
因此,当使用默认的 sinc R/exams 2.3.3(2019 年 7 月发布)时,这些符号应该开箱即用。
详细信息:正如@Hack-R 的回答已经指出的那样,有多种方法可以将用 LaTeX 编写的数学符号包含在基于 HTML 的练习中。此博客文章中提供了概述:http ://www.R-exams.org/tutorials/math/
需要注意的是,在这种情况下,LaTeX 代码实际上并没有被 LaTeX 本身处理。它可以转换为 MathML(使用pandoc
或ttm
)或通过 MathJax JavaScript 库在浏览器中呈现。在任何情况下,它都取决于转换器/渲染器,哪些 LaTeX 命令可以成功显示。它们都支持基本的 LaTeX 命令以及某些包中的一些额外命令。支持哪些软件包的哪些附加命令取决于转换器/渲染器。无论如何,样式文件无法扩展功能!
在标准 Moodle 安装中,启用了支持 AMS LaTeX 包的 MathJax(因为 MathJax 是由 AMS 开发/为 AMS 开发的!)。所以最好的策略是简单地将 LaTeX 保留在 Moodle 的 HTML 中。这exams2moodle(..., converter = "pandoc-mathjax")
实际上是converter
自 2019 年 7 月发布的 R/exams 2.3.3 以来的默认值。在以前的 R/exams 版本中,默认值是不converter = "ttm"
支持所有符号的。amssymb
通常,您将符号输入到.Rmd
or中.Rnw
,然后您可以使用任何可用的引擎(例如 pandoc、mathjax、knitr 等)对其进行渲染。
install.packages("exams")
require(exams)
在每个练习文件上调用 xWeave 并创建 LaTeX 代码
elearn_exam <- c("swisscapital.Rmd", "deriv.Rmd", "ttest.Rmd",
"boxplots.Rmd", "function.Rmd", "lm.Rmd", "fourfold2.Rmd")
set.seed(2020-04-16)
exams2moodle()
生成一个可以上传到 Moodle 的 XML 文件
它从 LaTeX 到 HTML 然后 HTML 到 XML
exams2moodle(elearn_exam, n = 3, name = "R-exams")
要添加自定义 LaTeX 包,您可以根据本文中的答案修改序言,即\usepackage
如链接帖子中所述,可以直接完成,即
---
title: "Title"
author: "Me"
header-includes:
- \usepackage{mypackage}
output:
pdf_document
---
或通过mystyles.sty
同一目录中的文件。