add types for code blocks in README

This commit is contained in:
Gaspard Jankowiak 2025-11-17 20:58:37 +01:00
commit 6114e7b036

View file

@ -8,18 +8,23 @@ A summary is then printed on the front page.
#### Using `typship` #### Using `typship`
```bash
typship download -n local https://imsc.uni-graz.at/git/gjankowiak/typst-exam/ typship download -n local https://imsc.uni-graz.at/git/gjankowiak/typst-exam/
```
#### Manually #### Manually
```bash
mkdir -p ~/.local/share/typst/packages/local/exam mkdir -p ~/.local/share/typst/packages/local/exam
cd ~/.local/share/typst/packages/local/exam cd ~/.local/share/typst/packages/local/exam
curl https://imsc.uni-graz.at/git/gjankowiak/typst-exam/archive/v0.1.0.tar.gz | tar zx --xform 's/typst-exam/0.1.0/' curl https://imsc.uni-graz.at/git/gjankowiak/typst-exam/archive/v0.1.0.tar.gz | tar zx --xform 's/typst-exam/0.1.0/'
```
## Usage ## Usage
Writing an exam is now easy (see [API](#api) for all options): Writing an exam is now easy (see [API](#api) for all options):
```typ
#import "@local/exam:0.1.0": exam, exercise, exercise-items, mtext #import "@local/exam:0.1.0": exam, exercise, exercise-items, mtext
#show: exam.with( #show: exam.with(
@ -40,11 +45,13 @@ Writing an exam is now easy (see [API](#api) for all options):
language: "en", language: "en",
) )
```
### Defining exercises and items ### Defining exercises and items
A new exercise can be started using `#exercise("title", nb_points)`, for example: A new exercise can be started using `#exercise("title", nb_points)`, for example:
```typ
#exercise("Relations and their properties", 2) #exercise("Relations and their properties", 2)
Consider the relation $R subset NN^2$, defined as follows: Consider the relation $R subset NN^2$, defined as follows:
@ -52,12 +59,14 @@ A new exercise can be started using `#exercise("title", nb_points)`, for example
$ (x, y) in R #h(0.5cm) <==> #h(0.5cm) x + y #mtext[is odd]. $ $ (x, y) in R #h(0.5cm) <==> #h(0.5cm) x + y #mtext[is odd]. $
Is $R$ reflexive? transitive? symmetric? antisymmetric? Is $R$ reflexive? transitive? symmetric? antisymmetric?
```
On can also defined (sub-)items for the exercise using `#exercise-items(override_points:true, numbering:"a)", items)`, On can also defined (sub-)items for the exercise using `#exercise-items(override_points:true, numbering:"a)", items)`,
where `items` is an array of `(nb_points, statement)`. By default, the number of points the exercise where `items` is an array of `(nb_points, statement)`. By default, the number of points the exercise
is worth is recomputed as the sum of points for all items. This behaviour can be turned off by is worth is recomputed as the sum of points for all items. This behaviour can be turned off by
setting `override_points: false`. setting `override_points: false`.
```typ
#exercise("Properties of functions", 3) #exercise("Properties of functions", 3)
Let $f : (0, +infinity) → (0, +infinity)$ with $f (x) = e^(-x)$. Let $f : (0, +infinity) → (0, +infinity)$ with $f (x) = e^(-x)$.
@ -87,6 +96,7 @@ setting `override_points: false`.
(1, [Is the truthtable correct?]), (1, [Is the truthtable correct?]),
(1, [If not, fix it.]), (1, [If not, fix it.]),
)) ))
```
All together, this should output something like: All together, this should output something like:
@ -103,7 +113,7 @@ top and bottom lines are bold.
### API ### API
```typ ```typ
exam( #exam(
title: "%KLAUSUR or EXAM%", title: "%KLAUSUR or EXAM%",
course-title: [%COURSE_TITLE_FIRST_LINE% \ %COURSE_TITLE_SECOND_LINE%], course-title: [%COURSE_TITLE_FIRST_LINE% \ %COURSE_TITLE_SECOND_LINE%],