Docs, labs
This commit is contained in:
parent
bb187cd223
commit
0831465257
22
README.md
22
README.md
@ -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
BIN
exam/demo.pdf
Normal file
Binary file not shown.
26
lab/demo.typ
Normal file
26
lab/demo.typ
Normal 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
77
lab/lib.typ
Normal 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
7
lab/typst.toml
Normal 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"
|
Loading…
Reference in New Issue
Block a user