Latex ExamDesign: Multiple Choice Scrambler

For the past few years, I’ve been using creating my tests and quizzes in Latex using a class called ExamDesign. ExamDesign supports a variety of questions such as True/False, Multiple Choice, Matching, fill in the blank, and short and long answers. It can automatically scramble the order of the questions as well as auto generating an answer key. With the efficiency of Latex for entering Mathematical formulas and equations, making many versions of a single test is quite fast and easy. It is an excellent 

One feature that I wish it had is the scrambling the choices in a multiple choice question. That means that even though the order of the questions are changed, the answer is still the same letter. For example, if the students figure out that question 3 in version A and question 7 in version B is the same question, the answer will be choice B for both versions.

To overcome this , I’ve written a Perl script to scramble the choices in the multiple choice questions.

How to Use:

  1. Copy into the same directory as the tex file you want to scramble
    • For example: ~/MathClass/tests/
  2. In a terminal, navigate to the directory
  3. Run the following command: perl <Tex File Name> <Number of Versions>
    • For example if your file was Unit1Test.tex and you wanted 4 versions
    • perl Unit1Test.tex 4
  4. The new versions will appear in the directory as ver_1.tex ver_2.tex etc.

Note: If you want to scramble the order of the questions, use the scramble feature found in ExamDesign

You can download it here.
You can also check it out from my github repository.
The script is licensed under the MIT License.


If you like my work, a small donation or feedback will be much appreciated.

Buy Me a Coffee at ko-fi.comBuy Me A Coffee

Leave a Reply

Your email address will not be published. Required fields are marked *