Compare commits

..

2 Commits

3 changed files with 84 additions and 0 deletions

BIN
exemple.pdf Normal file

Binary file not shown.

30
exemple.typ Normal file
View File

@ -0,0 +1,30 @@
#import "lettre.typ": *
#show link: strong
#show: doc => lettre(
de: [
Ex Péditeur,\
12 rue des Sept Nains\
12340, Bozouls, France
],
pour: [
Dest Inataire,\
77 avenue du Moulin,\
56780, Île aux Moines, Bretagne
],
objet: "Attestation sur lhonneur",
date: "10 septembre 2024",
lieu: "Bozouls",
introduction: "Monsieur",
cloture: "Cordialement,",
signature: "Ex P.",
post: [
#emph("PS: Finalement, rien.")
],
doc
)
je soussigné, Ex Péditeur, atteste par la présente sur lhonneur que ce document
a été réalisé avec #link("https://typst.app/")[Typst].
Les sources sont disponibles à ladresse suivante: #link("https://git.epheme.re/fmouhart/typst-lettre").

54
lettre.typ Normal file
View File

@ -0,0 +1,54 @@
#let lettre(
de: "",
pour: "",
objet: "",
date: "",
lieu: "",
introduction: "",
cloture: "",
signature: "",
post: "",
doc
) = {
set page(margin: 1.5in)
set par(leading: 0.55em, first-line-indent: 2em, justify: true, spacing: 0.55em)
set text(font: "Libertinus Serif", size: 12pt)
set document(title: objet, author: signature)
show raw: set text(font: "Inconsolata")
show heading: set block(above: 1.4em, below: 1em)
grid(
columns: (2fr, 1fr, 2fr),
par(de),
text[],
text[
#lieu
#if date.trim().len() != 0 [, le #date ]
] + v(2em),
text[],
text[],
par(pour)
)
v(1em)
if objet.trim().len() > 0 {
heading(level: 3, text("Objet: " + objet))
v(1em)
}
par(first-line-indent: 0pt, text(introduction + ","))
v(1em)
doc
v(1em)
par(first-line-indent: 0pt, text(cloture))
v(.7em)
grid(
columns: (2fr, 1fr),
text[],
text(signature)
)
v(1em)
post
}
#let er = [#super[er]]
#let ème = [#super[ème]]
#let no(num) = { text([n°~] + num) }