Automatic Generation of Exams in R
Overview
Automatic generation of exams based on exercises in Markdown or LaTeX format, possibly including R code for dynamic generation of exercise elements. Exercise types include single-choice and multiple-choice questions, arithmetic problems, string questions, and combinations thereof (cloze). Output formats include standalone files (PDF, HTML, Docx, ODT, ...), Moodle XML, QTI 1.2, QTI 2.1, Blackboard, Canvas, OpenOlat, ILIAS, TestVision, Particify, ARSnova, Kahoot!, Grasple, and TCExam. In addition to fully customizable PDF exams, a standardized PDF format (NOPS) is provided that can be printed, scanned, and automatically evaluated.
- Code repository changed from R-Forge to Codeberg at: <https://codeberg.org/zeileis/exams/>
- The
exams2ilias()function in theexamspackage had been added during the COVID-19 pandemic but it is not actively maintained anymore. A better implementation with more features is available in the package exams2ilias which will also be improved in the future. - Cloze exercises with a single string item containing a regular expression with a
|are now processed correctly (reported by Stefan Jansen).
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-05
- NOTE11 OK, 2 NOTE2026-07-16
- OK13 OK2026-06-27
- WARNING12 OK, 1 WARNING2026-06-14
- OK13 OK2026-06-09
Show 4 earlier changesHide 4 earlier changes
- ERROR12 OK, 1 ERROR2026-06-08
- OK13 OK2026-05-17
- ERROR12 OK, 1 ERROR2026-05-06
- OK14 OK2026-03-10
Documentation
- Help pages
- 44
- Examples that run
- 77%33 run in a plain check (5 of them under a condition) · 4 only when donttest examples are enabled (R CMD check --as-cran) · 5 never run · 1 hold no code
- Exported functions with examples
- 98%
- Documented parameters
- 87%
- Return-value docs
- 86%
- Help pages citing references
- 32%
Downloads
Repository
Repository codeberg.org/zeileis/exams is linked, but repository-practices checks have not run for it yet. Checks are GitHub-only for now.
Dependencies
Installing exams adds 25 packages (14 with compiled code, 18 MB of source tarballs). Heaviest: bslib 5.6 MB, sass 2.9 MB, rmarkdown 2.1 MB.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- 2.4-5Latest
- 2.4-42026-07-31 · diff ↗
- RR 4.6.0 released · 2026-04-24
- 2.4-32025-12-23 · diff ↗ ·
added 6 exports
add_cloze, format_metainfo, initialize_exercise, match_exams_markup, exams2ans, exams2wooclap - 2.4-2
- RR 4.5.0 released · 2025-04-11
- 2.4-1
- RR 4.4.0 released · 2024-04-24
- RR 4.3.0 released · 2023-04-21
- 2.4-02022-10-17 · diff ↗ ·
added 10 exports
openolat_config, exams2ilias, moodle2exams, exams2particify, exams2kahoot, exams2testvision, make_itembody_testvision, testvision2exams, exams2grasple, make_exams_write_grasple - RR 4.2.0 released · 2022-04-22
- RR 4.1.0 released · 2021-05-18
- RR 4.0.0 released · 2020-04-24
- 2.3-62020-04-06 · diff ↗
- 2.3-5
- 2.3-42019-07-06 · diff ↗
Show 38 earlier eventsHide 38 earlier events
- 2.3-3
- RR 3.6.0 released · 2019-04-26
- 2.3-22018-12-08 · diff ↗
- 2.3-1
- RR 3.5.0 released · 2018-04-23
- 2.3-02017-09-23 · diff ↗
- RR 3.4.0 released · 2017-04-21
- 2.2-1
- 2.2-02016-11-10 · diff ↗ ·
added 8 exports
num2tol, num2schoice, det2schoice, matrix2schoice, matrix2mchoice, include_supplement, exams2blackboard, make_itembody_blackboard - RR 3.3.0 released · 2016-05-03
- 2.1-02015-11-24 · diff ↗ ·
added 17 exports
round2, fmt, char_with_braces, num_to_tol, num_to_schoice, det_to_schoice, matrix_to_schoice, matrix_to_mchoice, xweave, make_exercise_transform_pandoc, exams2nops, make_nops_template, nops_scan, nops_eval, exams2arsnova, make_exams_write_arsnova, exams2tcexam - RR 3.2.0 released · 2015-04-16
- 2.0-22015-01-14 · diff ↗
- 2.0-12014-12-26 · diff ↗
- 2.0-02014-06-10 · diff ↗ ·
added 4 exports
extract_extra, exams2qti21, make_itembody_qti21, make_question_moodle - RR 3.1.0 released · 2014-04-10
- 1.9-62013-06-06 · diff ↗
- 1.9-5
- RR 3.0.0 released · 2013-04-03
- 1.9-42013-03-15 · diff ↗
- 1.9-32013-02-11 · diff ↗
- 1.9-22013-01-22 · diff ↗ ·
added 20 exports
answerlist, xexams, exams_metainfo, read_exercise, read_metainfo, extract_command, extract_environment, extract_items, tex2image, exams2pdf, make_exams_write_pdf, exams2html, make_exercise_transform_html, make_exams_write_html, exams2qti12, make_itembody_qti12, exams2lops, make_exams_write_lops, exams2moodle, make_question_moodle23 - 1.9-12012-12-18 · diff ↗
- 1.9-02012-12-17 · diff ↗
- RR 2.15.0 released · 2012-03-30
- RR 2.14.0 released · 2011-10-31
- 1.0-42011-08-22 · diff ↗
- RR 2.13.0 released · 2011-04-13
- RR 2.12.0 released · 2010-10-15
- RR 2.11.0 released · 2010-04-22
- RR 2.10.0 released · 2009-10-26
- 1.0-22009-09-03 · diff ↗
- 1.0-12009-06-24 · diff ↗
- RR 2.9.0 released · 2009-04-17
- 1.0-02009-02-20 · diff ↗
- 0.9-52009-02-12 · diff ↗
- 0.9-02008-11-10
- RR 2.8.0 released · 2008-10-20
Package metadata
- First published
- 2008-11-10
- Total releases
- 32 / 18 yrs
- License
- GPL-2 | GPL-3 OSI
- Minimum R
- ≥ 3.4.0
- Download size
- 1.8 MB
Cite
Cite this package
Run in R for the authors' entry:
citation("exams")The package provides a citation file, so citation() returns the authors' own entry.
It points to 10.18637/jss.v029.i10, 10.18637/jss.v058.i01.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-19, which the citation names so these numbers can be found later. More on citing and the projects behind them.