CTAN Comprehensive TeX Archive Network

Directory macros/latex/contrib/exam-randomizechoices


The exam-randomizechoices package

package for creating random placed choices in multiple choice environments using the exam document class.

This package can be used with the exam document class to typeset multiple choice questions with randomized typesetting of the possible choices. After loading this package, four new environments are available:

  • randomizechoices – the randomizing variant of choices;
  • randomizeoneparchoices – the randomizing variant of oneparchoices;
  • randomizecheckboxes the randomizing variant of checkboxes;
  • randomizeoneparcheckboxes – the randomizing variant of oneparcheckboxes.

The package is loaded as given below


Options can be:

  • randomize – This option globally turns on the randomizing of the choices given for all available typesetting environments. Randomization is turned on by default.
  • norandomize – This option globally turns off the randomizing of the choices for all available typesetting environments. This option is useful for inspecting the resulting PDF output file with typesetting the choices in the order they were entered.
  • keeplast This option globally turns on the preservation of the last entered item in the new environments.
  • nokeeplast – This option globally turns off the preservation of the last entered item in the new environments. This is the default behaviour.
  • overload – This option makes the standard multiple choice environments behave the same as the new environment counterparts, i.e. the the standard multiple choice environments are overloaded (or redefined). This is useful if you wish to use an old exam and randomize the choices of the questions.
  • nooverload – This option suppresses the overloading of the standard multiple choice environments so you have to use the new multiple choice environments if you want to randomize the choices to the questions. Overloading is turned off by default.
  • debug – This option causes the package to emit a lot of debug messages. Debug is turned off by default.

An example of a randomizing choices environment is given below:

\question[5] What is the result of $1+1$?
\choice 1
\CorrectChoice 2
\choice 3
\choice 4

which possibly (depends on de state of the pseudo random generator) typesets as:

1. (5 points) What is the result of 1+1?

A. 2

B. 1

C. 4

D. 3

Note: verbatim environments such as verbatim and listings are not supported

See the documentation for full explanation of the package.


This work may be distributed and/or modified under the conditions of the Project Public License, either version 1.3 of this license or (at your option) any later version. The latest version of this license is in http://www.latex-project.org/lppl.txt and version 1.3 or later is part of all distributions of version 2003/12/01 or later.

This work consists of the files exam-randomizechoices.sty, exam-randomizechoices.tex and exam-randomizechoices-doc.tex

This software is provided 'as is', without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.

Download the contents of this package in one zip archive (312.7k).

exam-randomizechoices – Randomize mc choices using the exam class

This package is an extension to the exam document class. It provides the user with four new multiple choice typesetting environments which place their content in a random order. It can (only) be used in combination with the exam class. It can only randomize the placement of choices in multiple choice questions. The questions themselves cannot be randomized with this package.

Furthermore, the package provides a simple answer key table typesetter and has a command for writing the answer keys to an external file.

Version0.2 2021-07-31
LicensesThe Project Public License 1.3
Copyright2021 Jesse E. J. op den Brouw
MaintainerJesse op den Brouw
Contained inTeX Live as exam-randomizechoices
MiKTeX as exam-randomizechoices
See alsoexam
Guest Book Sitemap Contact Contact Author