ziuma - LaTeX-based multiple-choice test randomizer

ziuma is a program which randomizes multiple-choice tests. It takes as input a YAML file containing the questions and generates as output a LaTeX file using the exam package.

Requirements

This program requires:

  • Ruby;
  • the json-schema Rubygem;
  • a working LaTeX environment;
  • the exam LaTeX package.

Usage

First, generate the quiz.tex.erb and quiz.yaml files in the current directory with:

ziuma init

Them, modify quiz.yaml to fit your test and, if needed, quiz.tex.erb to your taste.

You can validate your quiz.yaml file anytime by running

ziuma validate

When you are ready, run:

ziuma generate N

To generate N shuffled versions of the test, each with a different random ID (included in the filename), as TeX files in the current directory.

You can now compile the generated TeX files using an engine of your choosing (eg. pdflatex, xelatex, lualatex).

License

All files in this repository are free/libre software (FLOSS) and, except where otherwise noted, are released under the terms of the GNU Affero General Public License, version 3.0 or later.

The template TeX and YAML files and the JSON schema are released under the Creative Commons Zero 1.0 Universal license.