89 lines
1.9 KiB
Typst
89 lines
1.9 KiB
Typst
// This is a Typst template for general assembly meetings
|
||
|
||
|
||
#let signatures(..signataires) = {
|
||
grid(
|
||
columns: (1fr, ) * calc.min(signataires.pos().len(), 4),
|
||
align: center,
|
||
..signataires.pos().map(a => {
|
||
if type(a) == array {
|
||
[#a.at(0) \ #box(height: 100pt, inset: (right: 10pt, left: 10pt), a.at(1))]
|
||
} else {
|
||
[#a \ #box(height: 100pt, fill: red)]
|
||
}
|
||
})
|
||
)
|
||
}
|
||
|
||
|
||
#let assemblee_generale(
|
||
background: rgb("f4f1eb"),
|
||
company-details: none,
|
||
title: "",
|
||
margin: 2.1cm,
|
||
vertical-center-level: 2,
|
||
numbering: "1 / 1",
|
||
conclusion_pv: false,
|
||
datelieu: "",
|
||
signataires: (),
|
||
body
|
||
) = {
|
||
set text(font: "Fira Sans")
|
||
|
||
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: numbering,
|
||
header: page_header,
|
||
)
|
||
|
||
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)
|
||
|
||
show link: it => underline(
|
||
text(it, fill: blue, font: "Fira Mono", weight: "medium", size: 9pt),
|
||
offset: 1.5pt,
|
||
evade: false,
|
||
stroke: 0.8pt,
|
||
)
|
||
|
||
let body = [
|
||
#set text(size: 11pt, weight: "regular")
|
||
#set par(spacing: 1.5em, justify: true)
|
||
#body
|
||
]
|
||
|
||
heading(level: 1, title)
|
||
v(30pt)
|
||
body
|
||
|
||
if conclusion_pv [
|
||
#line(length: 100%)
|
||
|
||
L’ordre du jour étant épuisé et personne ne demandant plus la parole, le
|
||
Président déclare la séance levée.
|
||
|
||
De tout ce qui précède, il a été dressé le présent procès-verbal signé par le
|
||
Président et les associé·e·s.
|
||
|
||
#v(30pt)
|
||
|
||
Fait en #signataires.len() originaux, #datelieu.
|
||
]
|
||
|
||
v(30pt)
|
||
|
||
if signataires.len() > 0 {
|
||
signatures(..signataires)
|
||
}
|
||
}
|