Как использовать пакет LaTeX с R / экзаменами? - PullRequest
2 голосов
/ 16 апреля 2020

Я использую exams2moodle() для создания экзаменационных экзаменов. Я хотел бы использовать некоторые математические символы, для которых требуется пакет LaTeX amssymb. Как мне поступить?

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

TL; DR: amssymb Символы LaTeX поддерживаются MathJax, который является средством визуализации по умолчанию в стандартной установке Moodle. Таким образом, эти символы должны работать "из коробки" при использовании exams2moodle(..., converter = "pandoc-mathjax"), который по умолчанию является грехом c R / экзамены 2.3.3 (выпущено в июле 2019 года).

Подробности: как уже указано в ответе В @ Hack-R существуют различные способы включения математических обозначений, написанных на LaTeX, в HTML упражнения. Обзор приведен в этом посте: http://www.R-exams.org/tutorials/math/

Важно отметить, что в этом случае код LaTeX фактически не обрабатывается самим LaTeX. Он может быть преобразован в MathML (с использованием pandoc или ttm) или отображен в браузере библиотекой MathJax JavaScript. В любом случае от конвертера / рендерера зависит, какие команды LaTeX могут быть успешно отображены. Все они поддерживают команды basi c LaTeX и некоторые дополнительные команды из определенных пакетов. Какие дополнительные команды из каких пакетов поддерживаются, зависит от конвертера / рендерера. В любом случае, возможности не могут быть расширены с помощью файлов стилей!

В стандартной установке Moodle включен MathJax, который поддерживает пакет AMS LaTeX (поскольку MathJax был разработан / для AMS !). Так что лучшая стратегия - просто оставить LaTeX в HTML для Moodle. Это можно сделать с помощью exams2moodle(..., converter = "pandoc-mathjax"), который на самом деле является значением по умолчанию converter, так как R / экзамены 2.3.3 выпущены в июле 2019 года. В предыдущих версиях R / экзаменов по умолчанию было converter = "ttm", что не Поддержка всех символов amssymb.

1 голос
/ 16 апреля 2020

Как правило, вы вводите свои символы в .Rmd или .Rnw, и вы можете визуализировать их с любым доступным движком (например, pando c, mathjax, knitr, et c ).

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, вы можете изменить преамбулу согласно ответам в в этом посте , т.е. \usepackage

Как описано в связанном посте, это можно сделать напрямую, например

---
title: "Title"
author: "Me"
header-includes:
   - \usepackage{mypackage}
output:
    pdf_document
---

или с помощью файла mystyles.sty в том же каталоге.

...