Docs, labs

This commit is contained in:
Maxime Augier 2024-05-23 08:11:02 +02:00
parent bb187cd223
commit 0831465257
8 changed files with 130 additions and 2 deletions

View File

@ -1,3 +1,21 @@
# Y-Sec Typst Template - Midterm/Exam
# Y-Sec Typst Templates
Check out [demo.typ](demo.typ) for details.
## Installation
### Typst
Avec cargo:
```
cargo install typst-cli
```
### Y-Sec Templates
```
git clone <https://url.of/repo.git> ~/.local/share/typst/packages/y-sec
```
## Templates:
- [Test écrit](exam) ([exemple](exam/demo.typ), [pdf](exam/demo.pdf))
- [Laboratoire](lab)

BIN
exam/demo.pdf Normal file

Binary file not shown.

26
lab/demo.typ Normal file
View File

@ -0,0 +1,26 @@
#import "lab.typ" : laboratoire, question, operation
#show: doc => laboratoire(
title: "Some random lab",
course: "XYZ",
doc
)
= Section
#operation[Commencez ici]
bla bla
== Sous-section
bli bli
#operation[ Une manipulation à effectuer ]
#question[ Quelle est la réponse ? ][asd]
= Autre sous-section
blu blu
#question[xxxx][yyyyyy]

77
lab/lib.typ Normal file
View File

@ -0,0 +1,77 @@
#show heading: h => {
let fresh = counter(heading).get();
counter("manipulation").update(fresh)
counter("question").update(fresh)
h
}
#let context_step(key) = context {
let lvl = query(selector(heading).before(here())).at(-1).level+1;
counter(key).step(level: lvl)
}
#let laboratoire(course: "Course Name", title: "Course title", doc) = {
set page(
header: [#course - Labo X - #title],
footer: [],
numbering: "1 / 1"
);
doc
}
#set heading(numbering: "1.1")
#let pretty_block(color, title, x) = {
let edge = color;
block(radius: (top: 3pt),
inset: 4pt,
stroke: 1pt + edge,
fill: color.lighten(50%),
width: 100%,
below: 0pt,
text(weight: "bold", title))
block(radius: (bottom: 3pt),
inset: 7pt,
stroke: 1pt + edge,
fill: color.lighten(80%),
width: 100%,
x)
}
#let operation(x) = {
context_step("manipulation")
pretty_block(rgb("#9f82ff"), "Manipulation " + context counter("manipulation").display(), x)
}
#let question(q,a) = {
context_step("question")
pretty_block(green, "Question " + context counter("question").display("1.1"), q)
pretty_block(red, "Réponse " + context counter("question").display("1.1"), a)
}
#show: laboratoire
= Section
#operation[Commencez ici]
bla bla
== Sous-section
bli bli
#operation[ Une manipulation à effectuer ]
#question[ Quelle est la réponse ? ][asd]
= Autre sous-section
blu blu
#question[xxxx][yyyyyy]

7
lab/typst.toml Normal file
View File

@ -0,0 +1,7 @@
[package]
name = "lab"
version = "0.1.0"
entrypoint = "lib.typ"
authors = ["Maxime Augier <max@xolus.net>"]
license = "MIT"
description = "Enoncé de laboratoire"