如何使用 R/exams 的 LaTeX 包?
How to use a LaTeX package with R/exams?
我正在使用 exams2moodle()
创建考试测验。我想使用一些需要 LaTeX 包 amssymb
的数学符号。我该如何进行?
一般来说,您 input your symbols 进入 .Rmd
或 .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()
生成一个 XML 文件,可以上传到 Moodle
从 LaTeX 到 HTML 然后从 HTML 到 XML
exams2moodle(elearn_exam, n = 3, name = "R-exams")
要添加自定义 LaTeX 包,您可以根据 this post 中的答案修改序言,即 \usepackage
如链接 post 中所述,可以直接完成,即
---
title: "Title"
author: "Me"
header-includes:
- \usepackage{mypackage}
output:
pdf_document
---
或通过同一目录中的 mystyles.sty
文件。
TL;DR: amssymb
MathJax 支持 LaTeX 符号,MathJax 是标准 Moodle 安装中的默认渲染器。因此,这些符号在使用 exams2moodle(..., converter = "pandoc-mathjax")
时应该开箱即用,这是默认的 sinc R/exams 2.3.3(2019 年 7 月发布)。
详细信息:正如@Hack-R 的回答已经指出的,有多种方法可以在基于 HTML 的练习中包含用 LaTeX 编写的数学符号。此博客 post 中给出了概述:http://www.R-exams.org/tutorials/math/
重要的是要注意,在这种情况下,LaTeX 代码实际上并不是由 LaTeX 本身处理的。它可以转换为 MathML(使用 pandoc
或 ttm
)或由 MathJax JavaScript 库在浏览器中呈现。无论如何,这取决于 converter/renderer 哪些 LaTeX 命令可以成功显示。它们都支持基本的 LaTeX 命令以及来自某些软件包的一些额外命令。支持哪些软件包的附加命令取决于 converter/renderer。在任何情况下,这些功能都不能通过样式文件来扩展!
在标准的 Moodle 安装中启用了支持 AMS LaTeX 包的 MathJax(因为 MathJax 是 by/for AMS 开发的!)。所以最好的策略是简单地将 LaTeX 保留在 Moodle 的 HTML 中。这可以通过 exams2moodle(..., converter = "pandoc-mathjax")
来完成,它实际上是自 2019 年 7 月发布的 R/exams 2.3.3 以来的默认值 converter
。在之前的 R/exams 版本中,默认值是 [=16] =] 不 支持所有 amssymb
符号。
我正在使用 exams2moodle()
创建考试测验。我想使用一些需要 LaTeX 包 amssymb
的数学符号。我该如何进行?
一般来说,您 input your symbols 进入 .Rmd
或 .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()
生成一个 XML 文件,可以上传到 Moodle
从 LaTeX 到 HTML 然后从 HTML 到 XML
exams2moodle(elearn_exam, n = 3, name = "R-exams")
要添加自定义 LaTeX 包,您可以根据 this post 中的答案修改序言,即 \usepackage
如链接 post 中所述,可以直接完成,即
---
title: "Title"
author: "Me"
header-includes:
- \usepackage{mypackage}
output:
pdf_document
---
或通过同一目录中的 mystyles.sty
文件。
TL;DR: amssymb
MathJax 支持 LaTeX 符号,MathJax 是标准 Moodle 安装中的默认渲染器。因此,这些符号在使用 exams2moodle(..., converter = "pandoc-mathjax")
时应该开箱即用,这是默认的 sinc R/exams 2.3.3(2019 年 7 月发布)。
详细信息:正如@Hack-R 的回答已经指出的,有多种方法可以在基于 HTML 的练习中包含用 LaTeX 编写的数学符号。此博客 post 中给出了概述:http://www.R-exams.org/tutorials/math/
重要的是要注意,在这种情况下,LaTeX 代码实际上并不是由 LaTeX 本身处理的。它可以转换为 MathML(使用 pandoc
或 ttm
)或由 MathJax JavaScript 库在浏览器中呈现。无论如何,这取决于 converter/renderer 哪些 LaTeX 命令可以成功显示。它们都支持基本的 LaTeX 命令以及来自某些软件包的一些额外命令。支持哪些软件包的附加命令取决于 converter/renderer。在任何情况下,这些功能都不能通过样式文件来扩展!
在标准的 Moodle 安装中启用了支持 AMS LaTeX 包的 MathJax(因为 MathJax 是 by/for AMS 开发的!)。所以最好的策略是简单地将 LaTeX 保留在 Moodle 的 HTML 中。这可以通过 exams2moodle(..., converter = "pandoc-mathjax")
来完成,它实际上是自 2019 年 7 月发布的 R/exams 2.3.3 以来的默认值 converter
。在之前的 R/exams 版本中,默认值是 [=16] =] 不 支持所有 amssymb
符号。