Description Usage Arguments Details Value References See Also Examples
Automatic generation of exams in HTML format.
1 2 3 4 5 6 7 8 9 10 11 12 | exams2html(file, n = 1L, nsamp = NULL, dir = ".", template = NULL,
name = NULL, quiet = TRUE, edir = NULL, tdir = NULL, sdir = NULL, verbose = FALSE,
question = "<h4>Question</h4>", solution = "<h4>Solution</h4>",
mathjax = FALSE, resolution = 100, width = 4, height = 4, svg = FALSE,
encoding = "", converter = NULL, ...)
make_exercise_transform_html(converter = c("ttm", "tth", "pandoc", "tex2image"),
base64 = TRUE, ...)
make_exams_write_html(template = "plain", name = NULL,
question = "<h4>Question</h4>", solution = "<h4>Solution</h4>",
mathjax = FALSE)
|
file |
character. A specification of a (list of) exercise files. |
n |
integer. The number of copies to be compiled from |
nsamp |
integer. The number(s) of exercise files sampled from each
list element of |
dir |
character specifying the output directory (default:
current working directory). If only a single HTML file is produced
and no |
template |
character. A specification of a HTML template. The default
is to use the |
name |
character. A name prefix for resulting exercises. |
quiet |
logical. Should output be suppressed when calling
|
edir |
character specifying the path of the directory in which
the files in |
tdir |
character specifying a temporary directory, by default
this is chosen via |
sdir |
character specifying a directory for storing supplements, by
default this is chosen via |
verbose |
logical. Should information on progress of exam generation be reported? |
question |
character or logical. Should the question be included in the HTML
output? If |
solution |
character or logical, see argument |
mathjax |
logical. Should the JavaScript from http://www.MathJax.org/ be included for rendering mathematical formulas? |
resolution, width, height |
numeric. Options for rendering PNG (or SVG)
graphics passed to |
svg |
logical. Should graphics be rendered in SVG or PNG (default)? |
encoding |
character, passed to |
base64 |
logical. Should images be embedded using Base 64 coding? Argument |
converter, ... |
arguments passed on to |
exams2html generates exams in a very simple HTML format
using xexams. It proceeds by (1) calling xweave
on each exercise, (2) reading the resulting LaTeX code, (3) transforming
the LaTeX code to HTML, and (4) embedding the HTML code in a template
(a simple and plain template is used by default).
For steps (1) and (2) the standard drivers in xexams are used.
For step (3) a suitable transformation function is set up on the fly
using make_exercise_transform_html. This transforms the
LaTeX code in question/questionlist and
solution/solutionlist by leveraging one of four
functions: ttm produces HTML with MathML
for mathematical formulas, tth produces
plain HTML that aims to emulate mathematical formulas,
pandoc_convert employs pandoc offering different
options for handling formulas, and tex2image runs
LaTeX and turns the result into a single image. In all cases, images
can either be stored in supplementary files or embedded directly in Base 64 coding.
For step (4) a simple writer function is set up on the fly that embeds the transformed HTML code into a template and writes a single HTML file for each exam.
exams2html returns a list of exams as generated by xexams.
make_exercise_transform_html returns a function that is suitable for being
supplied as driver$transform to xexams.
make_exams_write_html returns a function that is suitable for being
supplied as driver$write to xexams.
Zeileis A, Umlauf N, Leisch F (2014). Flexible Generation of E-Learning Exams in R: Moodle Quizzes, OLAT Assessments, and Beyond. Journal of Statistical Software, 58(1), 1–36. http://www.jstatsoft.org/v58/i01/.
xexams,
ttm,
tth,
pandoc_convert,
tex2image,
browseURL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | ## load package and enforce par(ask = FALSE)
options(device.ask.default = FALSE)
if(interactive()) {
## compile a single random exam (displayed in the browser)
exams2html(list(
"boxplots",
c("tstat", "ttest", "confint"),
c("regression", "anova"),
"scatterplot",
"relfreq"
))
## examples with different locales (UTF-8, ISO-8859-15)
## using special characters (Euro and Pound symbol, German umlaut)
if(!identical(Sys.getlocale(), "C")) {
## UTF-8
exams2html("currency8", encoding = "utf8", template = "plain8")
## ISO Latin 9 (aka ISO-8859-15)
exams2html("currency9", encoding = "latin9", template = "plain9")
}
## various versions of displaying mathematical formulae
## via MathML (displayed correctly in MathML-aware browsers, e.g. Firefox)
exams2html("tstat")
## via MathML + MathJax (should work in all major browsers,
## note the display options you get when right-clicking on the formulas
## in the browser)
exams2html("tstat", mathjax = TRUE)
## via plain HTML (works in all browsers but with inferior formatting)
exams2html("tstat", converter = "tth")
## via HTML with embedded picture (works in all browsers but
## is slow and requires LaTeX and ImageMagick)
## Not run:
exams2html("tstat", converter = "tex2image")
## End(Not run)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.