Randomization via versions with permuted answers for MC questions: Each student is assigned one of the different versions. **There is a tool to generate the versions** and the associated `registration.csv` (the usage is explained at the end of the page).
_This method is simple and completely reproducible._
Here is how versioning works in general.
## Randomization via versions - How it works
The `registration.csv` file contains information on the version assigned to each student.
- You shoud have already written the tex files **Q0x_v0.tex** (for x=1,2,3...),
which should be located
in the directory [QuestionsAndSolutions/](../../QuestionsAndSolutions/) of your exam template.
Importantly, you should have complied with the following formatting rules (if not, change your files accordingly now):
- The **Q0x_v0.tex** files need to use ```\itemMC``` to start a new MC question
and ```\begin{enumerate} ... \end{enumerate}``` for the answer options if they
should be randomized (using different ways for the answers is ok, however, then
the answers are not randomized as explained in the next point).
- Each answer option needs to start in a new line with ```\item``` (whitespaces before are ok).
- Answers can be over multiple lines (all lines until the next ```\item``` are appended for the "current" answer option).
- Questions which do not have an enumerate environment for the answers are not
randomized but kept identical in the new version. E.g. this can be questions with
images as answers, where the item number is already included in the image.
- To exclude a question from the randomization which has an enumerate environment
for the answers, write inside the enumerate environment and before the first
item ```%no resorting``` in a line on its own. This can be used if randomizing
the answers might confuse the reader.
- The **Q0x_v0.tex** files need to use ```\itemOpen``` to start a new open question. (Inside you can use all TeX commands you like.)
- As a next step, you have to write/modify the file [mc_v0.tex](../../QuestionsAndSolutions/mc_v0.tex).
Importantly:
- The auto-mc solution specifications in the file [mc_v0.tex](../../QuestionsAndSolutions/mc_v0.tex)
have to correspond to the answer options in the files **Q0x_v0.tex** (for all relevant x),
i.e. the correct and incorrect answers have to coincide in the files.
- The auto-mc file [mc_v0.tex](../../QuestionsAndSolutions/mc_v0.tex) needs to
use ```\begin{choices} ... \end{choices}``` for each question and inside
use ```\wrongchoice``` and ```\correctchoice``` respectively in a new line
(whitespaces are ok) for each answer option.
## Tool to generate the `registration.csv` and TeX files
There is an [online tool](https://isg.math.ethz.ch/make-anonym-csv/index2.html) that will generate the versioned TeX files and the associated `registration.csv` file automatically from the master versions `xxx_v0.tex`.