Files

133 lines
2.9 KiB
Typst

#import "@preview/touying:0.6.1": *
#import "@preview/codelst:2.0.2": sourcecode
#import "@preview/pinit:0.2.2": *
#import themes.metropolis: *
#import "@preview/note-me:0.5.0": *
#let the_date = datetime.today()
#let myred = rgb(80%,0%,0%)
#let myblue = rgb(0%,40%,58%)
#let myorange = rgb(75%,31%,9%)
#let mygreen = rgb(24%,50%,19%)
#let mylightgreen = rgb(50%,70%,40%)
#let myyellow = rgb(100%,88%,26%)
#let myviolet = rgb(48%,47%,72%)
#let mypurple = rgb(69%,45%,69%)
#let mylightorange = rgb(96%,51%,22%)
#let mypink = rgb(85%,51%,72%)
#let almostblack = rgb("#23373B")
#let hesso-blue = rgb("#00609c")
#let hesso-grey = rgb("#968b83")
#let default_text_size = 24pt
#let get-config() = {
return (
config-colors(
primary: rgb("#00609c"),
primary-light: rgb("#968b83"),
secondary: rgb("#0071b7"),
// neutral-lightest: rgb("#00609c"),
neutral-dark: rgb("#01588f"),
neutral-darkest: rgb("#004977"),
),
config-methods(
init: (self: none, body) => {
show strong: it => text(fill: almostblack, it)
body
},
),
config-common(
datetime-format: "[month repr:long] [day], [year]",
// handout: true,
),
)
}
#let title_style(body) = [
#set text(size: 36pt, weight: "bold")
#image("/resources/img/logos/mse.png", width: 60%)
// #place(
// top+right,
// dy: -2.5em,
// dx: 4em,
// float: false,
// clearance: 0.5em,
// image("/resources/img/logos/hydro.png", height: 1.5em)
// )
#body
]
#let myglobals(doc) = [
// #set page(background: image("swiss_universities.png"))
// #set text(font: "CMU Sans Serif", size: default_text_size)
// #set text(font: "Ubuntu", size: default_text_size)
#show footnote.entry: set text(size: 18pt)
// #show link: underline
// #show link: it => text(fill: myblue, it)
#doc]
#let strong(body) = [#set text(weight: "bold")
#body]
#let red(body) = [#set text(fill: myred)
#body]
#let green(body) = [#set text(fill: mygreen)
#body]
#let blue(body) = [#set text(fill: myblue)
#body]
#let orange(body) = [#set text(fill: myorange)
#body]
#let purple(body) = [#set text(fill: mypurple)
#body]
#let code_frame = block.with(
stroke: 0.1mm + rgb(70%, 70%, 80%),
inset: 3mm,
radius: 8pt,
fill: rgb(94%, 94%, 94%),
)
// Usage example:
// #code(size:16pt,```c
// char name = "Jane";
// printf("Hey %s\n", name);
// ```)
#let code(code, size: 20pt, nb:none, highlight:()) = [#set text(size: size)
#v(-5mm)
#set par(justify: false)
#sourcecode(numbering:nb, frame: code_frame, highlighted: highlight, code)]
// Usage example:
// #items(15mm)[
// - Item 1
// - Item 2
// - Item 3
// ]
#let items(vspace, body) = [
#par[
#show list.item: it => {
it
v(vspace)
}
#body]]
// Usage examples:
// #par(al:right)[
// blah blah
// ]
// #par(size:16pt,al:center)[
// blah blah
// ]
#let par(size: default_text_size, al: left, body) = [
#set align(al)
#set text(size: size)
#body
]