104 lines
2.8 KiB
Plaintext
104 lines
2.8 KiB
Plaintext
#import "@y-sec/exam:0.1.0": exam, question, reponse, qcm
|
|
#show: exam(
|
|
title: "Examen en Typst",
|
|
subtitle: "Y-Security - Typst Essentials",
|
|
course: "TES",
|
|
date: datetime(year: 2050, month: 1, day: 1),
|
|
author: "Maxime Augier",
|
|
time: "45 minutes",
|
|
allowed: "une page A4 (recto-verso) de résumé personnel",
|
|
)
|
|
|
|
= Questions et Réponses
|
|
|
|
La commande `#question` permet de définir une question avec un bloc de réponse.
|
|
Le contenu de la réponse sera uniquement affiché dans le corrigé.
|
|
|
|
#question[
|
|
Quelle est la manière la plus simple de fournir une réponse ?
|
|
][
|
|
Avec un 2e argument à la fonction `question`.
|
|
]
|
|
|
|
#question[Est-il possible d'avoir un bloc réponse séparé ?]
|
|
#reponse[Bien sûr ! Avec la commande `réponse`. ]
|
|
|
|
#question[Comment fonctionne la numérotation des questions ?][
|
|
Le compteur global `"question"` est utilisé
|
|
]
|
|
|
|
= Page de garde
|
|
|
|
#question[Comment changer les indications de la page de garde ?]
|
|
#reponse[
|
|
Les indications sont passées avec le paramètre `indications`
|
|
de la fonction `exam`. La valeur par défaut est:
|
|
|
|
```typst
|
|
[
|
|
- Ce test doit être réalisé en maximum *#time*.
|
|
|
|
- Aucun document n'est admis, excepté #allowed .
|
|
|
|
- L'utilisation de tout type de matériel électronique est interdite.
|
|
|
|
- Ne pas oublier d'inscrire votre nom et prénom à l'endroit prévu à cet effet.
|
|
|
|
- Merci de respecter un silence absolu jusqu'à ce que le dernier étudiant
|
|
aie rendu sa copie
|
|
]
|
|
```
|
|
|
|
|
|
|
|
]
|
|
|
|
= Formats alternatifs
|
|
|
|
#question[Préféréz-vous les questions à choix multiples ?]
|
|
|
|
#qcm[
|
|
- Clairement oui <yes>
|
|
- Pas trop
|
|
- La réponse D <yes>
|
|
]
|
|
|
|
= Comptage des points
|
|
|
|
#question(points: 5)[Comment changer la valeur en points de la question ?]
|
|
|
|
#reponse[Avec l'argument optionnel `points` de la commande `question`]
|
|
|
|
#question(points: 2)[Comment fonctionne le comptage des points ?]
|
|
#reponse[
|
|
Le compteur global `"points"` enregistre le total de points disponibles
|
|
en partant du début du document. Chaque en-tête de section calcule les points
|
|
disponibles à partir de la différence de ce compteur entre l'en-tête de section
|
|
en cours et le prochain en-tête.
|
|
]
|
|
|
|
== Sous-sections
|
|
|
|
#question(points: 1)[Et s'il y a des sous-sections ?][
|
|
La différence est en fait calculée avec le prochain en-tête de niveau égal ou inférieur, ce qui correspond à la division logique du document.
|
|
]
|
|
|
|
= Compilation
|
|
|
|
Le package doit être installé dans l'emplacement adéquat (par défaut: `$HOME/.local/share/typst/packages/y-sec/exam/0.1.0`)
|
|
|
|
#question[Comment contrôler l'affichage des réponses ?][
|
|
Passer l'option `--input mode=solution` à `typst` pour activer le mode solution.
|
|
]
|
|
|
|
Le makefile suivant permet de générer les deux documents à la suite:
|
|
|
|
```make
|
|
%.pdf: %.typ
|
|
typst compile $<
|
|
|
|
%-solution.pdf: %.typ
|
|
typst compile --input mode=solution $<
|
|
```
|
|
|