Initial commit

This commit is contained in:
Lyes Saadi 2026-01-15 17:26:07 +01:00
commit 940f1f64b2
Signed by: lyes
GPG key ID: 55A1D803917CF39A
10 changed files with 406 additions and 0 deletions

69
environment.typ Normal file
View file

@ -0,0 +1,69 @@
#import "palette.typ": *
#let envc = counter("environment")
#let count(counter, follows) = {
let c = counter;
if c == auto {
c = envc;
}
if type(c) == str {
c
} else if not follows {
c.step()
context c.display()
} else {
context c.display()
}
}
#let environment(body, name: "Environment", subtitle: none, counter: auto, follows: false, boxed: true, margin: 2.5cm, scheme: light) = [
#v(10pt)
// #v(margin + 2pt)
#pad(block(
width: 100% + 2*margin,
inset: (left: margin, right: margin, top: 1em, bottom: 1em),
fill: scheme.env.bg,
stroke: (top: scheme.env.stroke, bottom: scheme.env.stroke),
breakable: true,
text(fill: scheme.env.fg)[
#place(
block(
fill: scheme.env.bg,
inset: .4em,
radius: .2em,
stroke: scheme.env.title-stroke,
)[
#text(
name + if counter != none { " " + count(counter, follows) } + if subtitle != none { ":" },
weight: if not follows { "bold" } else { "regular" },
style: if follows { "italic" } else { "normal" },
fill: scheme.env.fg
)
#if cite != none {
subtitle
}
],
dx: -3em, dy: -1.8em
)
#body
]),
left: -margin,
right: margin)
// top: -margin - 2pt,
// bottom: -margin - 2pt)
// #v(margin + 2pt)
]
#let environment_(body, name: "Environment", counter: auto, follows: false, boxed: true, margin: 2.5cm, scheme: light) = {
scheme.env.insert("bg", scheme.bg)
scheme.env.insert("title-stroke", none)
scheme.env.insert("stroke", scheme.env.sub-stroke)
environment(body, name: name, counter: counter, follows: follows, boxed: boxed, margin: margin, scheme: scheme)
}