CRAN Release of R/exams 2.3-3 and 2.3-4
Version 2.3-3 and subsequently 2.3-4 of the one-for-all exams generator R/exams have been published on the Comprehensive R Archive Network at https://CRAN.R-project.org/package=exams. In the next days this will propagate to other CRAN mirrors along with Windows and OS X binary packages. Version 2.3-4 was necessary in addition to 2.3-3 to avoid CRAN check problems on platforms where pandoc
is not available (currently, OS X and Solaris). The development version of the package is now version 2.3-5 on R-Forge at http://R-Forge.R-project.org/forum/?group_id=1337.
Canvas support
A new interface exams2canvas()
for the open-source Canvas learning management system has been added. This is the first dedicated Canvas interface after previously some indirect support was available through either exams2blackboard()
or exams2qti12()
. However, both of these had certain limitations for Canvas that the new function aims to overcome. The function has only received limited testing so far and is likely to improve in future version. Please report any problems to the package maintainer.
Essentially, exams2canvas()
is a wrapper function to exams2qti12()
along with a few Canvas-specific modifications of the QTI XML specification. Supported exercise types are: single-choice, multiple-choice, numeric, and string (but not yet cloze). Embedding mathematical notation, graphics, and data supplements also works.
Mathematical notation in Moodle
The default converter
in exams2moodle()
has been changed to "pandoc-mathjax"
. Thus, instead of relying on the browser to render mathematical notation from MathML, the MathJax plugin is now assumed to be enabled on the Moodle server (which is the default when setting up a new Moodle server). To employ MathML as in previous versions one can use converter = NULL
. This either selects "pandoc-mathml"
(or equivalently "pandoc"
) or "ttm"
depending on the markup used in the exercises.
Written exams (NOPS)
- Assure in
nops_scan()
that scanned image file names contain no spaces. - Added
\usepackage[...]{babel}
support to language specification ofexams2nops()
. In addition to a newBabel: ...
field, the language.dcf
can also provide aHeader: ...
field, e.g., for changing the font encoding or adding further options. - In
nops_eval()
duplicated sheets (original + replacement) were sometimes omitted even if the student ID was just 000000 (i.e., not read correctly bynops_scan()
). A check has been added that avoids this.
Improvements and bug fixes
exams_skeleton()
has been updated. The new default ismarkup = "markdown"
as this appears to be the more common choice for newcomers to R/exams. Furthermore, the list of exercises in thedemo-*.R
scripts has been updated to use newer exercises as well (along with links to the web page: https://www.R-exams.org/templates/).- Fixed bugs in
exams2qti21()
(and henceexams2openolat()
) for certain combinations ofmaxchars
specifications instring
exercises. - For convenience, when
exams2html(..., converter = "pandoc-mathjax")
,mathjax = TRUE
is added automatically (unless explicitly switched off). - The
print()
method forexams_metainfo
objects received a newblock
argument so thatprint(exams_metainfo(x), which = 1, block = 5)
prints the metainformation (type/solution) of the first exam in the objectx
(output from anyexams2xyz()
function) in blocks of 5 exercises. Implemented for the blog about R/exams at Texas A&M International University. - For
exams2openolat()
the handling of the internal pandoc fixups was extended to replacealign="right"
in tables withstyle="text-align: right;"
(and analogously for “left” and “center”). - Changed the default of
fix_choice
inexams2arsnova()
. Current versions of the official ARSnova server have the LaTeX rendering in the choice options switched off. Hence, by settingfix_choice = TRUE
by default the LaTeX math markup is removed. - Add
\setkeys{Gin}{keepaspectratio}
in the defaultexams2pdf()
template for pandoc (plain8.tex
) and inexams2nops()
. This is necessitated by a change in pandoc that now always setsheight=\textheight
whenwidth=
is specified, see the pandoc FAQ. - Added an
envir
argument inexams2moodle()
that is passed on toxweave()
.