# Lettres

# Écrire une lettre avec LaTeX

Il existe, grosso modo, deux classes de documents pour écrire une lettre sous LaTeX : la classe `letter` et la classe `lettre`.

## La classe `letter`

### Les bases

C'est la plus simple des deux (mais forcément, elle fait moins de choses...). Attention, par défaut, cette classe ne respecte pas la convention de placement des noms à la française. `\usepackage{french}` corrige cela (ce package n'existe plus, le remplacent un package commercial `frenchpro` et une version diminuée de ce dernier mais gratuite `frenchle`), mais pas `\usepackage[francais]{babel}`.

Un document de base est structuré comme suit (les parties qui doivent être modifiées sont en italique) :

    \documentclass[11pt]{letter}

    \name{nom de l'expéditeur}
    \address{adresse de l'expéditeur}
    \signature{signature de l'expéditeur}
    \date{date d'expédition}

    \begin{document}
    \begin{letter}{nom du destinataire}
    \opening{formule de politesse (« adresse » : cher Monsieur, etc.)}

    Corps de la lettre

    \closing{formule de politesse (veuillez agréer, etc)}
    \ps{post-scriptum}
    \cc{nom des autres destinataires}
    \encl{pièces jointes}
    \end{letter}
    \end{document}

Bien entendu, il n'est pas nécessaire de spécifier `\ps`, ou `\cc`, s'il n'y a pas lieu. Vous pouvez télécharger le fichier modèle pour la classe de documents `letter`.

### Gestion des langues

La présentation de la lettre dépendra de la langue choisie. Par défaut, la présentation est anglaise (on signe à la main sous le nom, présentation en blocs sans indentation pour la première ligne d'un paragraphe, formule de politesse d'ouverture alignée à gauche, etc.) En utilisant le package `french` de `babel` (attention, c'est bien `french` qu'il faut et non `francais`).

## La classe `lettre`

La classe `lettre` se fonde sur `letter`, mais avec quelques améliorations. Elle a été écrite par Denis Mégévand. Attention ! Pour l'instant, la version installé sur clipper a des bugs un peu pénible (double compilation nécessaire parce qu'elle ne reconnaît pas `\closing` tout de suite). Vous pouvez télécharger une version plus récente (2.346), il vous suffira ensuite, pour l'utiliser, de la placer dans votre répertoire inputs.

### Les bases

Voici un exemple de fichier de base (vous disposez de toutes les commandes de la classe `letter`, on ne les redonne pas toutes ici) :

    \documentclass[11pt]{lettre}

    \usepackage[latin1]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[francais]{babel}

    \begin{document}
    \begin{letter}{destinataire}
    \def\concname{Objet :~} % On définit ici la commande 'objet'
    \conc{Objet de la lettre}
    \nref{Références de la lettre, de votre point de vue}
    \vref{Références de la lettre, du point de vue de votre interlocuteur}
    \opening{Madame, Monsieur,}

    Corps de la lettre

    \closing{formule de salutations}

    \end{letter}
    \end{document}

### Supprimer le trait de pliage

Une question fréquente concerne la manière de retirer le trait que la classe lettre imprime pour faciliter le pliage du courrier en trois. On peut trouver disgracieux ce trait. Pour le retirer, il y a trois méthodes

Premièrement, on peut placer dans le préambule cette définition

    \makeatletter
    \newcommand*{\NoRule}{\renewcommand*{\rule@length}{0}}
    \makeatother

et utiliser la commande `\NoRule` dans le corps des lettres pour lesquelles on ne souhaite pas ce trait. Par exemple

    \begin{letter}{Premier destinataire}
      \NoRule
      Corps de la lettre
    \end{letter}

    \begin{letter}{Second destinataire}
      Corps de la lettre
    \end{letter}

donnera deux lettres, dont la première n'aura pas de trait de pliage mais la seconde si.

Deuxièmement, vous pouvez placer dans le fichier `.ins` (voir la section « Personnaliser ») une ligne supprimant le trait chaque fois que vous utiliserez ce fichier `.ins`.

    \renewcommand*{\rule@length}{0}

Troisièmement, si vous voulez systématiquement supprimer ce trait, vous pouvez créer une classe spéciale `xletter`. Créez un fichier `xletter.cls` et saisissez le code suivant.

    \NeedsTeXFormat{LaTeX2e}
    \ProvidesClass{xlettre}

    \newcommand*{\xlettre@do}{}
    \newcommand*{\xlettre@rule}{}
    \newcommand*{\xlettre@norule}{%
      \let \xlettre@institut=\institut
      \def \institut ##1{%
        \xlettre@institut{##1}%
        \def \rule@length {0}%
      }%
      \def \@institut {%
        \makeatletter \input{default.ins}\makeatother
        \def \rule@length {0}%
      }%
    }

    \DeclareOption{rule}{\let \xlettre@do =\xlettre@rule}
    \DeclareOption{norule}{\let \xlettre@do =\xlettre@norule}
    \DeclareOption*{\PassOptionsToClass{\CurrentOption}{lettre}}

    \ExecuteOptions{norule}
    \ProcessOptions

    \LoadClass{lettre}

    \xlettre@do

    \endinput

Placez ce fichier dans les chemins de recherche de TeX. L'utilisation de cette classe est strictement identique à celle de `lettre` mais elle accepte deux options supplémentaires :

    \documentclass{xlettre}

ou

    \documentclass[norule]{xlettre}

supprime systématiquement les traits de pliage, tandis que

    \documentclass[rule]{xlettre}

les ajoute conformément aux règles de la classe `lettre`.

### Personnaliser

Un certain nombre de paramètres de vos lettres sont peu susceptibles de changer. Votre nom ou votre adresse, par exemple. Vous souhaiteriez donc pouvoir disposer d'un en-tête par défaut pour vos lettres. Ça tombe bien, car avec la classe `lettre`, l'en-tête par défaut est obligatoire.

L'en-tête est défini dans un fichier de configuration, `default.ins` et qui doit être placé dans le répertoire inputs (une autre possibilité est de placer ces commandes dans un fichier `noel.ins` et d'utiliser dans le fichier `.tex` la ligne

    \institut{noel}

dans le préambule, à chaque fois que vous devrez utiliser ces paramètres). Voici un exemple :

    \name{Père Noël}
    \signature{Papa Noël}
    \address{\centering
      \textbf{\textsc{Père Noël, Lutins et Associés}}\\
      % On peut mettre en forme l'en-tête... Ici, il est centré, et on
      % demande à ce que le nom soit en petites majuscules et en gras.
      Fabricant de jouets depuis toujours\\
      Palais des Jouets}
    \lieu{Pôle Nord}

    % Ce paramètre sert à indiquer dans la lettre « Au Pôle
    % Nord, le 25 décembre 2000 »

    \telephone{}
    \email{pere.noel@polenord.pn}
    \nofax
    % C'est \fax{} pour indiquer un numéro de fax

Ce qui donne la chose suivante en guise d'en-tête :

Auteurs : Marie-Lan Nguyen (2000), François-Xavier Coudert (2002). Dernière modification le par Josselin Noirel.