Coder Social home page Coder Social logo

gcalmettes / examrandomizer Goto Github PK

View Code? Open in Web Editor NEW
8.0 4.0 2.0 267 KB

Randomize questions order, multiple choice responses order and figure versions from a LaTex file created with the exam class.

License: MIT License

TeX 41.81% Python 58.19%

examrandomizer's Introduction

examRandomizer

Randomize questions order, multiple choice responses order and figure versions from a LaTex file created with the LaTex exam class.

This script allows to generate n different versions of an exam, by allowing the possibility to randomize:

  • the order of the questions
  • the order of the possible responses of a multiple choice questions
  • the figure(s) version(s) used in the document if several versions of the figure(s) are provided

The script also add an environment minipage to every question so the questions cannot be cut by a page-break. If a question has multiple-part (parts environment) then the minipage environment is added to each isolated part instead of the full question to prevent too long questions to not be displayed fully.

This repo contains a self-sufficient example, in which 10 different versions of an exam will be created:

  • The master-file folder contains the files needed to generate the master file of an exam created with the exam class of LaTex. This includes both the LaTex files, as well as the different versions of the figures that will be randomly chosen to be included in each version (in this example, there are two figures in the exam, but only one of them will be different from exam to exam).
  • The randomization-script folder contains the python script generating the different versions of the exam. This script also call the compilation of the generated LaTex files using pdflatex and save the different randomized versions of the exam in the outputRandom folder.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.