|
| 1 | +# Formalettre : writing french letters with typst |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | +Un template destiné à écrire des lettres selon une typographie francophone, et inspiré du package LaTeX [lettre](https://ctan.org/pkg/lettre). |
| 6 | + |
| 7 | +Pour utiliser le template, il est possible de recopier le fichier exemple. |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +## Documentation des variables |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | +### Expéditeur |
| 16 | + |
| 17 | +- `expediteur.nom` : nom complet l'expéditeur·ice, **requis**. |
| 18 | +- `expediteur.adresse` : addresse, sans la commune, sous forme de contenu ou de liste s'il y a plusieurs lignes, **requis**. |
| 19 | +- `expediteur.commune` : code postal et commune de l'expéditeur·ice, **requis**. |
| 20 | +- `expediteur.pays` : pays de l'expéditeur⋅ice, *facultatif*. |
| 21 | +- `expediteur.telephone` : le numéro de téléphone fourni sera cliquable. *Chaîne de caractères*, *facultatif*. |
| 22 | +- `expediteur.email` : l'email fourni sera affiché en police mono et cliquable. *Chaîne de caractères*, *facultatif*. |
| 23 | +- `expediteur.signature` : précise le nom à afficher en signature de fin de lettre. Par défaut, cela reprend le prénom et le nom, *facultatif*. |
| 24 | +- `expediteur.image_signature` : peut être rempli avec un contenu de type `image("signature.png")` pour intégrer l'image d'une signature numérisée. *Facultatif* |
| 25 | + |
| 26 | +### Destinataire |
| 27 | + |
| 28 | +- `destinataire.nom` : nom ou titre du ou de la destinataire, **requis**. |
| 29 | +- `destinataire.adresse` : adresse, sans la commune, sous forme de contenu ou de liste s'il y a aucune ou plusieurs lignes, **requis**. |
| 30 | +- `destinataire.commune` : code postal et commune du ou de la destinataire, **requis**. |
| 31 | +- `destinataire.pays` : pays du ou de la destinataire, *facultatif*. |
| 32 | + |
| 33 | +### Intermédiaire |
| 34 | + |
| 35 | +Dans le cas d'une lettre transmise par voie hiérarchique, on peut spécifier |
| 36 | +l'intermédiaire, qui sera indiqué par la mention « s/c de » (sous couvert de) |
| 37 | +dans l'en-tête de la lettre, et qui apparaîtra comme destinaitaire sur |
| 38 | +l'enveloppe, si on en imprime une. |
| 39 | + |
| 40 | +- `intermediaire.nom` : nom ou titre de l'intermédiaire, **requis**. |
| 41 | +- `intermediaire.adresse` : adresse, sans la commune, sous forme de contenu ou de liste s'il y a plusieurs lignes, **requis** en cas de génération d'enveloppe. |
| 42 | +- `intermediaire.commune` : code postal et commune de l'intermédiaire, **requis** en cas de génération d'enveloppe. |
| 43 | +- `intermediaire.pays` : pays de l'intermédiaire, *facultatif*. |
| 44 | + |
| 45 | +### Lettre |
| 46 | + |
| 47 | +- `objet` : l'objet du courrier, *facultatif*. |
| 48 | +- `date` : date à indiquer sous forme libre, **requis**. |
| 49 | +- `lieu` : lieu de rédaction, **requis**. |
| 50 | +- `envoi` : informations d'envoi, par exemple « Recommandé avec accusé de réception numéro XXXXXXXX », *facultatif*. |
| 51 | +- `ref` : référence du courrier, *facultatif*. |
| 52 | +- `vref` : votre référence (référence utilisée par le destinataire), *facultatif*. |
| 53 | +- `nref` : notre référence (référence utilisée par l'expéditeur), *facultatif*. |
| 54 | +- `appel` : formule d'appel, autrement dit formule initiale, désactivée par défaut. *Facultatif*. |
| 55 | +- `salutation` : formule de salutation, autrement dit formule finale, désactivée par défaut. *Facultatif*. |
| 56 | +- `ps` : permet de préciser un post-scriptum (ou plusieurs), *facultatif*. |
| 57 | +- `pj` : permet d'indiquer la présence de pièces jointes. Il est possible d'en faire une liste, par exemple : |
| 58 | + |
| 59 | +```typc |
| 60 | +pj: [ |
| 61 | + + Dossier n°1 |
| 62 | + + Dossier n° 2 |
| 63 | + + Attestation |
| 64 | + ] |
| 65 | +``` |
| 66 | + |
| 67 | +- `cc` : permet d'indiquer les destinataires additionnels de cette lettre, sous la forme d'une liste, *facultatif*. |
| 68 | +- `marges` : indiquer deux dimensions pour ajouter des marges supplémentaires à gauche et à droite du corps de la lettre: `(1cm, 1cm)` par défaut, *facultatif*. |
| 69 | +- `marque_pliage` : `false` par défaut, mettre à `true` pour imprimer une petite ligne indiquant où plier la page pour la mettre dans une enveloppe DL ou C5/6. *Facultatif*. |
| 70 | +- `enveloppe` : permet de générer une page à imprimer sur une enveloppe de la taille indiquée, qui peut être une chaîne contenant le nom d'un format courant (`c4`, `c5`, `c6`, `c56` ou `dl`) ou une spécification manuelle sous la forme `(<longueur>, <largeur>)`. *Facultatif*. |
| 71 | +- `affranchissement` : fournir une chaîne (code d'affranchissement) ou un contenu tel que `image("timbre.png")` pour imprimer un affranchissement dans la zone idoine de l'enveloppe. *Facultatif*. |
| 72 | +- `capitalisation` : indiquer un niveau de capitalisation des adresses, *facultatif* : |
| 73 | + - 0 (défaut) : ne pas modifier les adresses fournies, |
| 74 | + - 1 : mettre en petites majuscules les communes et pays, |
| 75 | + - 1.5 : mettre en majuscules les communes et pays, |
| 76 | + - 2 : mettre en petites majuscules les adresses, communes et pays, |
| 77 | + - 2.5 : mettre en majuscules les adresses, communes et pays, |
| 78 | + - 3 : mettre en petites majuscules l'ensemble des blocs d'adresses (noms, adresses, communes et pays), |
| 79 | + - 3.5 : mettre en majuscules l'ensemble des blocs d'adresses (noms, adresses, communes et pays). |
| 80 | + |
| 81 | +Le texte de la lettre proprement dite se situe après la configuration de la lettre. |
| 82 | + |
| 83 | +À la fin de la lettre, il est possible de décommenter les deux dernières lignes pour ajouter une image en guise de signature. Veillez dans ce cas à positionner la varibale `expediteur.signature` à `true`. |
| 84 | + |
| 85 | + |
| 86 | +## Notes |
| 87 | + |
| 88 | +### Signature |
| 89 | + |
| 90 | +Par défaut, le prénom et le nom de l'expéditeur sont repris pour la signature, mais on peut indiquer spécifiquement ce qu'on veut en renseignant l'option `signature`, par exemple pour signer avec son seul prénom. |
| 91 | + |
| 92 | +L'option `signature` permet également de préciser plusieurs signataires, sous la forme d'une liste : |
| 93 | + |
| 94 | +```typc |
| 95 | +expediteur: ( |
| 96 | + …, |
| 97 | + signature: ([Pierre], [Paul], [Jacques]), |
| 98 | +) |
| 99 | +``` |
| 100 | + |
| 101 | +Dans le cas ordinaire d'un signataire unique, on peut également inclure une image de signature numérisée avec l'option `image_signature`. Celle-ci prend un contenu libre, ce qui suffit à inclure simplement une image à sa taille naturelle `image("signature.png")` ou au besoin de régler sa taille et de l'espacer : |
| 102 | + |
| 103 | +```typc |
| 104 | +expediteur: ( |
| 105 | + …, |
| 106 | + image_signature: pad( |
| 107 | + top: 10mm, bottom: 5mm, |
| 108 | + image("signature.png", height: 3cm) |
| 109 | + ), |
| 110 | +) |
| 111 | +``` |
| 112 | + |
| 113 | +### Post-scriptum |
| 114 | + |
| 115 | +On peut préciser un post-scriptum, sous forme de texte ou de contenu : |
| 116 | + |
| 117 | +```typc |
| 118 | +ps: [Au fait, j'ai pris la liberté de prendre rendez-vous pour nous deux samedi prochain.] |
| 119 | +``` |
| 120 | + |
| 121 | +On peut également définir plusieurs post-scriptums en fournissant une liste. Ils apparaîtront sous le nom de « P.-S. », « P.-P.-S. », etc., donc n'en abusez pas : |
| 122 | + |
| 123 | +```typc |
| 124 | +ps: ( |
| 125 | + "Au fait, …", |
| 126 | + "N'oubliez pas non plus que…", |
| 127 | +) |
| 128 | +``` |
| 129 | + |
| 130 | +Enfin, si vous souhaitez libeller différemment les post-scriptums, vous pouvez les fournir sous forme de dictionnaire : |
| 131 | + |
| 132 | +```typc |
| 133 | +ps: ( |
| 134 | + "PS": "Au fait…", |
| 135 | + "PS2" : "N"oubliez pas non plus que…", |
| 136 | +) |
| 137 | +``` |
| 138 | + |
| 139 | +### Pièces jointes |
| 140 | + |
| 141 | +Vous pouvez préciser les pièces jointes sous forme de contenu libre : |
| 142 | + |
| 143 | +```typc |
| 144 | +pj: [ |
| 145 | + + Dossier n°1 |
| 146 | + + Dossier n° 2 |
| 147 | + + Attestation |
| 148 | +] |
| 149 | +``` |
| 150 | + |
| 151 | +Vous pouvez également fournir une liste, auquel cas elles seront indiquées sous forme de liste verticale sans marqueur : |
| 152 | + |
| 153 | +```typc |
| 154 | +ps: ("Dossier n°1", "Dossier n°2", "Attestation") |
| 155 | +``` |
| 156 | + |
| 157 | +### Affranchissement |
| 158 | + |
| 159 | +Les services postaux de plusieurs pays proposent des services en ligne d'affranchissement à domicile. Il s'agit : |
| 160 | + |
| 161 | +* soit de codes d'affranchissement à écrire sur l'enveloppe ; |
| 162 | +* soit de timbres à imprimer. |
| 163 | + |
| 164 | +Le premier cas est le plus facile à intégrer sur une enveloppe générée par formalettre, en précisant : |
| 165 | + |
| 166 | +```typc |
| 167 | +affranchissement: "<code d'affranchissement>", |
| 168 | +``` |
| 169 | + |
| 170 | +Dans le second cas, les timbres à imprimer ne sont malheureusement pas fournis sous forme d'image individuelle, mais dans un document PDF à imprimer sur feuille A4, sur planche d'étiquette ou sur feuille A4. Pour l'intégrer à l'enveloppe générée par formalettre, vous devez alors en extraire une image correspondant au timbre seul, puis remplir ainsi les paramètres de formalettre : |
| 171 | + |
| 172 | +```typc |
| 173 | +affranchissement: image("timbre.png"), |
| 174 | +``` |
0 commit comments