exams2canvas is a convenience interface to exams2qti12
for generating QTI 1.2 with some small tweaks for Canvas
(https://www.instructure.com/canvas). The supported exercise types at the
moment are num, schoice, mchoice, and string. There is limited support for cloze exercises
with multiple dropdown menus, i.e., schoice elements placed in the text with ANSWERi tags.
The Canvas-specific tweaks include:
Canvas needs a converter that produces HTML with mathematical notation
that can be rendered by MathJax. Hence "pandoc-mathjax" is the default but
"pandoc-mathml" (or "ttm" for exams with only R/LaTeX .Rnw exercises)
works as well, albeit possibly with problems when imported from a quiz to the item
bank.
Supplementary files (images, data, ...) must be embedded without Base 64
encoding. Thus, base64 = FALSE is hard-coded internally in exams2canvas.
Multiple-choice exercises (referred to as multiple answer questions in Canvas)
are always evaluated (aka scored) with partial credits in Canvas. Therefore,
eval = list(partial = TRUE, negative = FALSE) is hard-coded internally
in exams2canvas. Negative points are not supported in Canvas.
The QTI XML file requires a few special tags which are enforced through
flavor = "canvas" in exams2qti12.
Technical note: For multiple-choice questions the QTI XML file produced by
exams2canvas appears to encode an “all-or-nothing” scheme without partial
credits (i.e., partial = FALSE). However, this is necessary for Canvas to recognize
the answer alternatives correctly. Despite this, Canvas always applies partial-credit
evaluation (as explained above).