At the moment this feature is not available in exams2canvas()
and I'm not sure whether it can be implemented. (Should anyone reading this have insights about whether/how this could be achieved, please let me know.)
Conceptually, there is an important difference between those exams2xyz()
interfaces that produce a single file per exam (notably, exams2pdf()
and exams2nops()
) and those that produce a collection for learning management systems (like exams2moodle()
, exams2canvas()
, exams2blackboard()
, and exams2openolat()
). The former assure that the 1st replication from A and B are together in one exam - and potentially their order can be randomized. Analogously, for the 2nd and 3rd replication, etc. In the exports for learning management systems this is not easily possible.
Instead, the exports for the different learning management systems produce one "pool" or "section" of 100 exercises for A, and another pool/section of 100 exercises for B. For each exam the learning management system then samples one exercise from the A pool/section and one exercise from the B pool/section. So far, this is what you are looking for.
However, additionally shuffling or randomizing the order of the sections is available in some learning management systems but (to the best of my knowledge) not in all. Notably, OpenOLAT based on the QTI 2.1 format has an option for this. But for systems based on QTI 1.2 (rather than 2.1) like Canvas I did not see any way of including this feature.