52 lines
1 KiB
Typst
52 lines
1 KiB
Typst
// This is a Typst template for general assembly meetings
|
|
|
|
|
|
#let assemblee_generale(
|
|
background: rgb("f4f1eb"),
|
|
company-details: none,
|
|
title: "",
|
|
margin: 2.1cm,
|
|
vertical-center-level: 2,
|
|
body
|
|
) = {
|
|
|
|
let page_header = [
|
|
#text(size: 9.2pt, company-details)
|
|
]
|
|
|
|
// accomodate for page header, can't measure?
|
|
let real_margin_top = margin + 2cm
|
|
|
|
set page(
|
|
fill: background,
|
|
margin: (top: real_margin_top, rest: margin),
|
|
numbering: "1 / 1",
|
|
header: page_header,
|
|
)
|
|
|
|
// set quote(block: true)
|
|
|
|
show quote: it => {
|
|
box(it.body, fill: rgb("#ccc"), inset: (x: 5pt, y: 0pt), outset: (x: 0pt, y: 5pt))
|
|
}
|
|
|
|
show heading.where(level: 1): set align(center)
|
|
|
|
let body = [
|
|
#set text(size: 11pt, weight: "medium")
|
|
#set par(spacing: 2em)
|
|
#body
|
|
]
|
|
|
|
heading(level: 1, title)
|
|
v(30pt)
|
|
body
|
|
}
|
|
|
|
#let signatures(..signataires) = {
|
|
grid(
|
|
columns: (1fr, ) * calc.min(signataires.pos().len(), 4),
|
|
align: center,
|
|
..signataires.pos().map(a => [#a \ #box(height: 100pt, fill: red)])
|
|
)
|
|
}
|