85 lines
1.8 KiB
Typst
85 lines
1.8 KiB
Typst
|
|
#let assets-folder = "../assets/"
|
|
|
|
|
|
// workaround for: https://github.com/typst/typst/issues/466
|
|
#let balanced-cols(n-cols, gutter: 11pt, body) = layout(bounds => context {
|
|
// Measure the height of the container of the text if it was single
|
|
// column, full width
|
|
let text-height = measure(box(
|
|
width: (bounds.width - (n-cols - 1) * gutter) / n-cols,
|
|
body
|
|
)).height
|
|
|
|
// Recompute the height of the new container. Add a few points to avoid the
|
|
// second column being longer than the first one
|
|
let balanced-height = text-height/n-cols + text.size/2
|
|
|
|
box(
|
|
height: balanced-height,
|
|
columns(n-cols, gutter: gutter, body)
|
|
)
|
|
})
|
|
|
|
#let abstracts(
|
|
title-fr: "",
|
|
keywords-fr: (),
|
|
abstract-fr: [],
|
|
title-en: "",
|
|
keywords-en: (),
|
|
abstract-en: [],
|
|
heading-font: "TeX Gyre Heros",
|
|
school-color-verso: rgb("0054a0")
|
|
) = {
|
|
set page(
|
|
numbering: none,
|
|
header: none,
|
|
)
|
|
|
|
pagebreak()
|
|
pagebreak(to: "even")
|
|
|
|
set page(
|
|
margin: (
|
|
left: 20mm, right: 30mm,
|
|
top: 30mm, bottom: 30mm,
|
|
),
|
|
background: image(assets-folder + "abstracts-bg.svg")
|
|
)
|
|
set text(font: heading-font, fill: black)
|
|
|
|
place(dx: 100mm, dy: -15mm, image(assets-folder + "UR.png", width: 6cm))
|
|
place(dx: 0mm, dy: -15mm, image(assets-folder + "logo.png", width: 7.5cm))
|
|
|
|
v(2cm)
|
|
line(length: 100%, stroke: .2cm + school-color-verso)
|
|
v(.4cm)
|
|
|
|
[
|
|
#show linebreak: none
|
|
#text(school-color-verso)[Titre :] #title-fr
|
|
]
|
|
|
|
[
|
|
|
|
Mots clés : #keywords-fr.join(", ")
|
|
]
|
|
|
|
balanced-cols(2,gutter: 11pt)[Résumé : #abstract-fr]
|
|
|
|
v(1cm)
|
|
line(length: 100%, stroke: .2cm + school-color-verso)
|
|
v(.4cm)
|
|
|
|
[
|
|
#show linebreak: none
|
|
#text(school-color-verso)[Title :] #title-en
|
|
]
|
|
|
|
[
|
|
|
|
Keywords: #keywords-en.join(", ")
|
|
]
|
|
|
|
balanced-cols(2, gutter: 11pt)[Abstract: #abstract-en]
|
|
}
|