71 lines
2.1 KiB
Plaintext
71 lines
2.1 KiB
Plaintext
#import "@ysec/exam:0.1.0": exam, question, reponse
|
|
#show: doc => exam(
|
|
title: "Examen en Typst",
|
|
subtitle: "Y-Security - Typst Essentials",
|
|
course: "TES",
|
|
date: datetime(year: 2024, month: 5, day: 27),
|
|
author: "Maxime Augier",
|
|
time: "45 minutes",
|
|
allowed: "une page A4 (recto-verso) de résumé personnel",
|
|
doc
|
|
)
|
|
|
|
= 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é
|
|
]
|
|
|
|
= Formats alternatifs
|
|
|
|
#question[Préféréz-vous les questions à choix multiples ?]
|
|
|
|
= 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 $<
|
|
```
|