2

我正在使用exams2moodle()创建考试测验。我想使用一些需要 LaTeX 包的数学符号amssymb。我应该如何进行?

4

2 回答 2

2

TL;DR:amssymbMathJax 支持 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(使用pandocttm)或通过 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

于 2020-04-16T19:43:33.803 回答
1

通常,您将符号输入.Rmdor中.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同一目录中的文件。

于 2020-04-16T17:59:07.487 回答