Siguiendo la filosofía de Unix. Se usa una configuración basada en archivos.

El repositorio debe estructurarse de la siguiente manera:

OMR
│   README.md
│   generate_versions.py
│   
│
└───Exam_1
│   └───content
│   │   │   header.md
│   │   │   1.qd
│   │   │   ...
│   │   exam-versions.json
│
└───Exam_2
│   └───content
│   │   │   header.md
│   │   │   1.qd
│   │   │   ...
│   │   exam-versions.json
│   ...

Examenes

Cada examen tiene su propio directorio, dentro del cual, encontramos:

content/
Subdirectorio que contiene todos los datos del examen:
  1. Archivos .qd (QuizDown) para definir las preguntas del examen.

No importa el nombre de los archivos QuizDown

  1. readme.md: Descripción o instrucciones para responder el examen.
  2. header.md: Encabezado del examen.
  3. footer.md: Pie de pagina del examen.

Todos los archivos MarkDown son opcionales

config.yml
Configuración especifica del examen.

En el archivo config.yml del directorio raiz contiene la configuración predeterminada.

Configuración

General

output:
   size: 12 # Tamaño de la fuente
   linestretch: 10 # Interlineado
   geometry: {"left": "4cm", "right": "3cm", "top": "2.5cm", "bottom": "2.5cm"} # Márgenes
header:
   logo: # URL de una imagen
   institution: # Nombre de la institución
   course: # Nombre de la asignatura
   teacher: # Nombre del profesor
eval:
   subtraction: True
   strict: False
   valuation: 50 # Debe ser mayor o igual al puntaje máximo
   decimals: 0
subtraction
De valor booleano, en caso de ser true realizará una Evaluación sustractiva.

Considerar entonces, que la calificación total será positiva o negativa según el Tipo de evaluación.

strict
De valor booleano, en caso de ser true realizará una Evaluación estricta.

La Evaluación estricta se utiliza para desincentivar que los estudiantes adivinen las respuestas. Esto se logra penalizando más las respuestas incorrectas que las preguntas sin responder, fomentando así una consideración cuidadosa al contestar.

valuation
De valor entero, es la calificación máxima que se puede obtener.
decimals
De valor entero, en caso de ser 0 redondeará el puntaje de evaluación a un número entero,

Especifica

exam:
   type: # Parcial, Final, etc
   title: # Título del examen
   date: 24-02-1988

Tipos de evaluación:

En este examen, es crucial que consideres cada pregunta cuidadosamente antes de responder. Queremos asegurarnos de que demuestres un conocimiento real, en lugar de adivinar respuestas al azar. Por esta razón, el sistema de evaluación será el siguiente:

Evaluación....

$$ \text{calificación total} = \left( \overbrace{valuation}^{\text{calificación máxima}} \over \text{puntaje máximo} \right) calificación $$

Evaluación aditiva

  1. Cada respuesta correcta (acierto) sumará puntos.
  2. Cada respuesta incorrecta (error) u omisión no sumará ni restará puntos.

$$ calificación = \overbrace{aciertos}^{\text{puntos obtenidos}} $$

Evaluación sustractiva

  1. Cada respuesta incorrecta (error) u omisión restará puntos.
  2. Cada respuesta correcta (acierto) no sumará ni restará puntos.

$$ calificación = - \left( \overbrace{errores + omisiones}^{\text{puntos perdidos}} \right) $$

Evaluación aditiva estricta

  1. Cada respuesta correcta (acierto) sumará puntos.
  2. Cada **respuesta incorrecta** (error) restará puntos.
  3. Cada omisión no sumará ni restará puntos.

$$ calificación = \left( { \overbrace{aciertos}^{\text{puntos obtenidos}} - \overbrace{errores}^{\text{puntos perdidos}} } \right) $$

Evaluación sustractiva estricta

  1. Cada omisión restará puntos.
  2. Cada **respuesta incorrecta** (error) restará el doble de puntos.
  3. Cada respuesta correcta (acierto) no sumará ni restará puntos.

$$ calificación = - \left( \overbrace{ { 2 \left( errores \right) } + omisiones}^{\text{puntos perdidos}} \right) $$