From 940f1f64b27d117066ead5d8661c6f788646c1d4 Mon Sep 17 00:00:00 2001 From: Lyes Saadi Date: Thu, 15 Jan 2026 17:26:07 +0100 Subject: [PATCH] Initial commit --- environment.typ | 69 +++++++++++++++++++++++++++++++ lib.typ | 3 ++ math.typ | 97 +++++++++++++++++++++++++++++++++++++++++++ palette.typ | 105 +++++++++++++++++++++++++++++++++++++++++++++++ paper.typ | 80 ++++++++++++++++++++++++++++++++++++ state.typ | 6 +++ static/ensps.png | Bin 0 -> 14112 bytes test.pdf | Bin 0 -> 27109 bytes test.typ | 39 ++++++++++++++++++ typst.toml | 7 ++++ 10 files changed, 406 insertions(+) create mode 100644 environment.typ create mode 100644 lib.typ create mode 100644 math.typ create mode 100644 palette.typ create mode 100644 paper.typ create mode 100644 state.typ create mode 100644 static/ensps.png create mode 100644 test.pdf create mode 100644 test.typ create mode 100644 typst.toml diff --git a/environment.typ b/environment.typ new file mode 100644 index 0000000..f05b060 --- /dev/null +++ b/environment.typ @@ -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) +} diff --git a/lib.typ b/lib.typ new file mode 100644 index 0000000..576bf19 --- /dev/null +++ b/lib.typ @@ -0,0 +1,3 @@ +#import "palette.typ": * +#import "paper.typ": paper, abstract +#import "environment.typ": environment, environment_ diff --git a/math.typ b/math.typ new file mode 100644 index 0000000..fc19e0d --- /dev/null +++ b/math.typ @@ -0,0 +1,97 @@ +#let math_shorthands = ( + ($-o$, $multimap$), + ($~=$, $tilde.equiv$), + ($(*)$, $times.o$), + ($(times)$, $times.o$), + ($(+)$, $plus.o$), + ($(plus)$, $plus.o$), + ($|=$, $tack.r.double$), + ($|-$, $tack.r$), + ($t->$, $mapsto$), + ($t-->$, $mapsto.long$), +) + +#let par = rotate(180deg, "&") +#let yo = $よ$ +#let inj = $"inj"$ + +#let lA = $overline(A)$ +#let lB = $overline(B)$ +#let lC = $overline(C)$ +#let lD = $overline(D)$ +#let lE = $overline(E)$ +#let lF = $overline(F)$ +#let lG = $overline(G)$ +#let lH = $overline(H)$ +#let lI = $overline(I)$ +#let lJ = $overline(J)$ +#let lK = $overline(K)$ +#let lL = $overline(L)$ +#let lM = $overline(M)$ +#let lN = $overline(N)$ +#let lO = $overline(O)$ +#let lP = $overline(P)$ +#let lQ = $overline(Q)$ +#let lR = $overline(R)$ +#let lS = $overline(S)$ +#let lT = $overline(T)$ +#let lU = $overline(U)$ +#let lV = $overline(V)$ +#let lW = $overline(W)$ +#let lX = $overline(X)$ +#let lY = $overline(Y)$ +#let lZ = $overline(Z)$ + +#let la = $overline(a)$ +#let lb = $overline(b)$ +#let lc = $overline(c)$ +#let ld = $overline(d)$ +#let le = $overline(e)$ +#let lf = $overline(f)$ +#let lg = $overline(g)$ +#let lh = $overline(h)$ +#let li = $overline(i)$ +#let lj = $overline(j)$ +#let lk = $overline(k)$ +#let ll = $overline(l)$ +#let lm = $overline(m)$ +#let ln = $overline(n)$ +#let lo = $overline(o)$ +#let lp = $overline(p)$ +#let lq = $overline(q)$ +#let lr = $overline(r)$ +#let ls = $overline(s)$ +#let lt = $overline(t)$ +#let lu = $overline(u)$ +#let lv = $overline(v)$ +#let lw = $overline(w)$ +#let lx = $overline(x)$ +#let ly = $overline(y)$ +#let lz = $overline(z)$ + +#let cA = math.cal("A") +#let cB = math.cal("B") +#let cC = math.cal("C") +#let cD = math.cal("D") +#let cE = math.cal("E") +#let cF = math.cal("F") +#let cG = math.cal("G") +#let cH = math.cal("H") +#let cI = math.cal("I") +#let cJ = math.cal("J") +#let cK = math.cal("K") +#let cL = math.cal("L") +#let cM = math.cal("M") +#let cN = math.cal("N") +#let cO = math.cal("O") +#let cP = math.cal("P") +#let cQ = math.cal("Q") +#let cR = math.cal("R") +#let cS = math.cal("S") +#let cT = math.cal("T") +#let cU = math.cal("U") +#let cV = math.cal("V") +#let cW = math.cal("W") +#let cX = math.cal("X") +#let cY = math.cal("Y") +#let cZ = math.cal("Z") diff --git a/palette.typ b/palette.typ new file mode 100644 index 0000000..2a16ae3 --- /dev/null +++ b/palette.typ @@ -0,0 +1,105 @@ +#let broken-stroke(paint) = (thickness: 1pt, paint: paint, dash: (array: (2em, 1em, 1em, 1em))) +#let dotted-stroke(paint) = (thickness: 1pt, paint: paint, dash: "densely-dotted") +#let fill-stroke(paint) = (thickness: 1pt, paint: paint) + +#let light = ( + bg: white, + fg: black, + title: ( + bg: rgb("eee"), + fg: black, + sub: rgb("555"), + stroke: broken-stroke(rgb("999")), + ), + env: ( + bg: rgb("eee"), + fg: black, + stroke: broken-stroke(rgb("999")), + title-stroke: fill-stroke(rgb("999")), + sub-stroke: dotted-stroke(rgb("999")), + ), +) + +#let printing = ( + bg: white, + fg: black, + title: ( + bg: white, + fg: black, + sub: rgb("555"), + stroke: broken-stroke(black), + ), + env: ( + bg: white, + fg: black, + stroke: broken-stroke(black), + title-stroke: fill-stroke(black), + sub-stroke: dotted-stroke(black), + ), +) + +#let ensps-light = ( + bg: light.bg, + fg: light.fg, + title: ( + bg: rgb("00778b"), + fg: white, + sub: rgb(255, 255, 255, 200), + img: ( + path: "static/ensps.png" + ), + stroke: broken-stroke(color.hsl(187deg, 80%, 20%)), + ), + env: light.env +) + +#let dark = ( + bg: black, + fg: white, + title: ( + bg: rgb("111"), + fg: white, + sub: rgb("aaa"), + stroke: broken-stroke(rgb("777")), + ), + env: ( + bg: rgb("111"), + fg: white, + stroke: broken-stroke(rgb("777")), + title-stroke: fill-stroke(rgb("777")), + sub-stroke: dotted-stroke(rgb("777")), + ), +) + +#let ensps-dark = ( + bg: dark.bg, + fg: dark.fg, + title: ( + bg: rgb("00778b"), + fg: white, + sub: rgb(255, 255, 255, 200), + img: ( + path: "static/ensps.png" + ), + stroke: broken-stroke(color.hsl(187deg, 80%, 20%)), + ), + env: dark.env +) + +#let night = ( + bg: rgb("#111b3b"), + fg: rgb("#f2ecbe"), + title: ( + bg: rgb("#1c113a"), + fg: rgb("#f2ecbe"), + sub: rgb("#f2ecbe"), + stroke: broken-stroke(rgb("#3a3011")), + ), + env: ( + bg: rgb("#1c113a"), + fg: rgb("#f2ecbe"), + stroke: broken-stroke(rgb("#3a3011")), + title-stroke: fill-stroke(rgb("#3a3011")), + sub-stroke: dotted-stroke(rgb("#3a3011")), + ), +) diff --git a/paper.typ b/paper.typ new file mode 100644 index 0000000..6fb359f --- /dev/null +++ b/paper.typ @@ -0,0 +1,80 @@ +#import "palette.typ": * +#import "environment.typ": * +#import "math.typ": math_shorthands +#import "@preview/quick-maths:0.2.1": shorthands + +#let header(title, author, scheme, margin) = ( + context { + let p = here().page() + + // if p >= 1 { + move(dx: - margin - 1pt, block( + width: 100% + 2*margin + 2pt, + height: margin, + stroke: scheme.title.stroke, + fill: scheme.title.bg, + )[ + #place(top + left, block(inset: 30% * margin)[#text(title, scheme.title.fg) #text("- " + author, scheme.title.sub)]) + #place(top + right, block(inset: 30% * margin, text(scheme.title.fg)[Page #p / #counter(page).final().at(0)])) + ]) + // } + } +) + +#let paper( + body, + title: "Titre", + subtitle: none, + author: "Lyes Saadi", + scheme: light, + margin: 2.5cm, +) = [ + #set document(title: title, author: author) + #set page(fill: scheme.bg, footer: header(title, author, scheme, margin), margin: margin) + #set text(fill: scheme.fg, font: "New Computer Modern") + #set table(stroke: scheme.fg) + #set heading(numbering: "I.1 -") + + #show heading: it => [ + #block[ + #place(text("#", size: 0.8em), dx: -0.8em) + #it + ] + ] + + #show heading.where(level: 1): it => [ + #move(block( + text(it, scheme.title.fg), + width: 100% + 2*margin, + inset: (left: margin, right: margin, top: 1em, bottom: 1em), + fill: scheme.title.bg, + stroke: (top: scheme.title.stroke, bottom: scheme.title.stroke), + ), dx: -margin) + ] + + #show : set heading(numbering: none) + + #show: shorthands.with(..math_shorthands) + + #move(block( + [ + #if "img" in scheme.title.keys() and scheme.title.img != none { + place(top + right, image(scheme.title.img.path, height: margin), dx: margin, dy: -margin) + } + #align(center, text(size: 3em, title, fill: scheme.title.fg)) + #align(center, text(size: 2em, fill: scheme.title.sub, subtitle)) + #align(center, text(size: 1.5em, fill: scheme.title.sub, author)) + ], + fill: scheme.title.bg, + inset: margin, + height: auto, + width: 100% + 2 * margin, + stroke: (bottom: scheme.title.stroke), + ), dx: -margin, dy: -margin) + + #body +] + +#let abstract(body, name: [Abstract.], margin: 2.5cm) = { + align(center, move(dy: -margin/2, block(width: 75%, par(justify: true)[#text(name, weight: "bold") #text(style: "italic", body)]))) +} diff --git a/state.typ b/state.typ new file mode 100644 index 0000000..93e43f1 --- /dev/null +++ b/state.typ @@ -0,0 +1,6 @@ +#import "palette.typ": * + +#let template = ( + margin: 0, + scheme: light, +) diff --git a/static/ensps.png b/static/ensps.png new file mode 100644 index 0000000000000000000000000000000000000000..109b103e0679783888e272ad78bec21af7a527a6 GIT binary patch literal 14112 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 SEoER}VDNPHb6Mw<&;$U$JpVud literal 0 HcmV?d00001 diff --git a/test.pdf b/test.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b5f2e1cc9372b839b2c49610f26ed192b5737f98 GIT binary patch literal 27109 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

kHtzXld@waiOZOPj&`y}4~ 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 E0D!wb(EtDd literal 0 HcmV?d00001 diff --git a/test.typ b/test.typ new file mode 100644 index 0000000..d6aa308 --- /dev/null +++ b/test.typ @@ -0,0 +1,39 @@ +#import "lib.typ": * + +#show: paper.with(scheme: ensps-light, title: "Devoir Maison de Catégories", subtitle: "2ème DM") + += hi + +#lorem(40) + +== hi +#lorem(40) +== hi +#lorem(40) +=== hi +#lorem(40) +=== hi +#lorem(40) +== hi +#lorem(40) + +=== hi +#lorem(40) + += hi +#lorem(40) + +== hi +#lorem(40) + +=== hi +#lorem(40) + += hi +#lorem(40) + +== hi +#lorem(40) + +=== hi +#lorem(40) diff --git a/typst.toml b/typst.toml new file mode 100644 index 0000000..d6bfca1 --- /dev/null +++ b/typst.toml @@ -0,0 +1,7 @@ +[package] +name = "lyes-typstbox" +version = "0.1.0" +entrypoint = "lib.typ" +authors = ["Lyes Saadi "] +license = "MIT-0" +description = "Lyes' Typst ToolBox"