<p><div><div><div><div data-show-faces="false" data-height="21" data-width="100" data-layout="button_count" data-send="true" data-href="https://www.r-bloggers.com/cran-release-of-r-exams-2-3-1/"></div></div><div></div></div><div></div></div>
<div>
(This article was first published on <strong><a href="http://www.r-exams.org/general/cran_release_231/"> R/exams</a></strong>, and kindly contributed to <a rel="nofollow" href="https://www.r-bloggers.com/">R-bloggers)</a> </div>
<p>New minor release of the R/exams package to CRAN, containing a wide range of smaller improvements and bug fixes. Notable new features include a dedicated OpenOLAT interface, and a convenience function facilitating the use of TikZ-based graphics.</p>
<p><img alt="CRAN Release of R/exams 2.3-1" src="https://i1.wp.com/www.r-exams.org/images/cran231.title.png?w=456" data-recalc-dims="1"></p>
<p>Version 2.3-1 of the one-for-all exams generator <a rel="nofollow" href="http://www.r-exams.org/" target="_blank">R/exams</a> has been published on the Comprehensive R Archive Network at <a rel="nofollow" href="https://cran.r-project.org/package=exams" target="_blank">https://CRAN.R-project.org/package=exams</a>. In the next days this will propagate to other CRAN mirrors along with Windows binary packages. The development version of the package is now version 2.3-2 on <a rel="nofollow" href="http://r-forge.r-project.org/forum/?group_id=1337" target="_blank">http://R-Forge.R-project.org/forum/?group_id=1337</a>.</p>
<h2>New features</h2>
<ul>
<li>Added new interface <code>exams2openolat()</code> for the open-source <a rel="nofollow" href="https://www.openolat.com/" target="_blank">OpenOLAT</a> learning management system. This is only a convenience wrapper to <code>exams2qti12()</code> or <code>exams2qti21()</code> with some dedicated tweaks for optimizing MathJax output for OpenOLAT.</li>
<li>New function <code>include_tikz()</code> that facilitates compiling standalone TikZ figures into a range of output formats, especially PNG and SVG (for HTML-based output). This is useful when including TikZ in R/Markdown exercises or when converting R/LaTeX exercises to HTML. Two examples have been added to the package that illustrate the capabilities of <code>include_tikz()</code>: <a rel="nofollow" href="http://www.r-exams.org/templates/automaton/" target="_blank">automaton</a>, <a rel="nofollow" href="http://www.r-exams.org/templates/logic/" target="_blank">logic</a>. A dedicated blog post is also planned.</li>
</ul>
<h2>Written exams (NOPS)</h2>
<ul>
<li>Following the blog post on <a rel="nofollow" href="http://www.r-exams.org/tutorials/nops_language/" target="_blank">Written R/exams around the World</a> several users have been kind enough to add language support for: Croatian (<a rel="nofollow" href="http://www.r-exams.org/assets/posts/2018-01-08-nops_language/hr.dcf" target="_blank">hr.dcf</a>, contributed by <a rel="nofollow" href="http://www.irb.hr/eng/People/Krunoslav-Juraic" target="_blank">Krunoslav Juraić</a>), Danish (<a rel="nofollow" href="http://www.r-exams.org/assets/posts/2018-01-08-nops_language/da.dcf" target="_blank">da.dcf</a>, contributed by <a rel="nofollow" href="http://orcid.org/0000-0002-6594-5094" target="_blank">Tue Vissing Jensen</a> and <a rel="nofollow" href="http://orcid.org/0000-0002-1027-3673" target="_blank">Jakob Messner</a>),Slovak (<a rel="nofollow" href="http://www.r-exams.org/assets/posts/2018-01-08-nops_language/sk.dcf" target="_blank">sk.dcf</a>, contributed by Peter Fabsic), Swiss German (<a rel="nofollow" href="http://www.r-exams.org/assets/posts/2018-01-08-nops_language/gsw.dcf" target="_blank">gsw.dcf</a>, contributed by <a rel="nofollow" href="http://retostauffer.org/" target="_blank">Reto Stauffer</a>), Turkish (<a rel="nofollow" href="http://www.r-exams.org/assets/posts/2018-01-08-nops_language/tr.dcf" target="_blank">tr.dcf</a>, contributed by <a rel="nofollow" href="http://eremrah.com/" target="_blank">Emrah Er</a>). Furthermore, Portuguese has been distinguished into <a rel="nofollow" href="http://www.r-exams.org/assets/posts/2018-01-08-nops_language/pt-PT.dcf" target="_blank">pt-PT.dcf</a> (Portuguese Portuguese) vs. <a rel="nofollow" href="http://www.r-exams.org/assets/posts/2018-01-08-nops_language/pt-BR.dcf" target="_blank">pt-BR.dcf</a> (Brazilian Portuguese) with <a rel="nofollow" href="http://www.r-exams.org/assets/posts/2018-01-08-nops_language/pt.dcf" target="_blank">pt.dcf</a> defaulting to the former (contributed by <a rel="nofollow" href="http://www3.uma.pt/thd/" target="_blank">Thomas Dellinger</a>).</li>
<li>After setting a random seed <code>exams2nops()</code> and <code>exams2pdf()</code> now yield the same random versions of the exercises. Previously, this was not the case because <code>exams2nops()</code> internally generates a single random trial exam first for a couple of sanity checks. Now, the <code>.GlobalEnv$.Random.seed</code> is restored after generating the trial exam.</li>
<li>Fixed the support for <code>nsamp</code> argument in <code>exams2nops()</code>. Furthermore, current limitations of <code>exams2nops()</code> are pointed out more clearly in error messages and edge cases caught.</li>
<li>Allow varying points within a certain exercise in <code>nops_eval()</code>.</li>
</ul>
<h2>HTML output and Base64-encoded supplements</h2>
<ul>
<li>In <code>exams2html()</code> and other interfaces based on <code>make_exercise_transform_html()</code> the option <code>base64 = TRUE</code> now uses Base64 encoding for all file extensions (known to the package) whereas <code>base64 = NULL</code> only encodes image files (previous default behavior).</li>
<li>Bug fixes and improvements in HTML transformers:
<ul>
<li>Only <code>=&quot;file.ext&quot;</code> (with <code>=&quot;</code>) for supplementary files embedded into HTML is replaced now by the corresponding Base64-encoded version.</li>
<li><code>href=&quot;file.ext&quot;</code> is replaced by <code>href=&quot;file.ext&quot; download=&quot;file.ext&quot;</code> prior to Base 64 replacement to assure that the file name is preserved for the browser/downloader.</li>
<li><code>alt=&quot;file.ext&quot;</code> and <code>download=&quot;file.ext&quot;</code> are preserved without the Base64-encoded version of <code>file.ext</code>.</li>
</ul>
</li>
<li>Include further file URIs for Base64 supplements, in particular .sav for SPSS data files.</li>
<li>In <code>exams2blackboard(..., base64 = FALSE, ...)</code> the <code>base64 = FALSE</code> was erroneously ignored. No matter how base64 was specified essentially <code>base64 = TRUE</code> was used, it is honored again now.</li>
</ul>
<h2>Extensions</h2>
<ul>
<li><code>\exshuffle{</code></ul>