Background: I want to create a multiple choice exam in two versions, where the order of the choices differ. That is, both versions have the same questions and a list of answer options, but these options are shown in a different order. I would like to do this in a single document without more complex solutions like the esami package.
Idea: I thought that maybe I could create a boolean \newif which distinguishes between the two exam versions and then specify an item's optional argument depending on this if. But I fail to then sort by this optional argument. So maybe I need to pursue some completely different approach?
MWE: (compiles but does not do what I want, yet)
\documentclass{article} \newif\ifexamAB \examABtrue % \examABfalse \begin{document} Here is the question. \begin{enumerate} \item[\ifexamAB 2 \else 3 \fi] Some answer % Maybe I could specify this for each answer and then sort the printed list by this argument? \item Another answer \item Yet another answer \end{enumerate} \end{document} Edit: I understand there are solutions to randomise the order of list elements, and I understand that a manual reshuffling produces orders biased in certain ways. Nevertheless, for organisational reasons, I need to specify the order of items manually, instead of it being randomised. Hence, neither the randomlist nor the expl3 approach described here seem to work for me.
examdesign.cls. note that there are good reasons to randomise the ordering of multiple choice options in questions, since people tend to assign correct answers to particular places in the order.randomlistand the alternative approach usingexpl3. But both seem to focus on random orders as opposed to manually specified ones. I understand randomisation may be preferable for psychological/behavioral reasons, but for organisational reasons (grading procedure, layout requirements, etc.) I prefer the order to be specified manually. Hence, I would very much appreciate a pointer on how to implement this.