tuteurs.ens.fr/logiciels/latex/lettre.tml

282 lines
7.8 KiB
Text
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
2002-11-13 12:18:06 +01:00
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Lettres</title>
</head>
<body>
<h1>Écrire une lettre avec LaTeX</h1>
2002-11-13 12:18:06 +01:00
<p>Il existe, <em>grosso modo</em>, deux classes de documents pour écrire
une lettre sous LaTeX : la classe <code>letter</code> et la classe
2002-11-13 12:18:06 +01:00
<code>lettre</code>.</p>
<h2>La classe <code>letter</code></h2>
<h3>Les bases</h3>
<p>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.
<code>\usepackage{french}</code> corrige cela (ce package n'existe plus,
le remplacent un package commercial <code>frenchpro</code> et une
version diminuée de ce dernier mais gratuite <code>frenchle</code>),
mais <strong>pas</strong> <code>\usepackage[francais]{babel}</code>.</p>
2002-11-13 12:18:06 +01:00
<p>Un document de base est structuré comme suit (les parties qui
doivent être modifiées sont en italique) :</p>
2002-11-13 12:18:06 +01:00
<pre>
\documentclass[11pt]{letter}
\name{<em>nom de l'expéditeur</em>}
\address{<em>adresse de l'expéditeur</em>}
\signature{<em>signature de l'expéditeur</em>}
\date{<em>date d'expédition</em>}
2002-11-13 12:18:06 +01:00
\begin{document}
\begin{letter}{<em>nom du destinataire</em>}
\opening{<em>formule de politesse (« adresse » : cher Monsieur, etc.)</em>}
2002-11-13 12:18:06 +01:00
<em>Corps de la lettre</em>
\closing{<em>formule de politesse (veuillez agréer, etc)</em>}
2002-11-13 12:18:06 +01:00
\ps{<em>post-scriptum</em>}
\cc{<em>nom des autres destinataires</em>}
\encl{<em>pièces jointes</em>}
2002-11-13 12:18:06 +01:00
\end{letter}
\end{document}
</pre>
<p>Bien entendu, il n'est pas nécessaire de spécifier <code>\ps</code>,
ou <code>\cc</code>, s'il n'y a pas lieu. Vous pouvez télécharger le <a
href="letter_skel.tex">fichier modèle</a> pour la classe de documents
2002-11-13 12:18:06 +01:00
<code>letter</code>.</p>
<h3>Gestion des langues</h3>
<p>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
2002-11-13 12:18:06 +01:00
utilisant le package <code>french</code> de <code>babel</code>
(attention, c'est bien <code>french</code> qu'il faut et non
<code>francais</code>).</p>
<h2>La classe <code>lettre</code></h2>
<p>La classe <code>lettre</code> se fonde sur <code>letter</code>, mais
avec quelques améliorations. Elle a été écrite par Denis Mégévand.</p>
<!--
Attention ! Pour l'instant, la version installé sur sas.eleves a des bugs
un peu pénibles (double compilation nécessaire parce qu'elle ne reconnaît
pas <code>\closing</code> tout de suite). Vous pouvez télécharger une <a
2002-12-16 07:21:00 +01:00
href="ftp://obsftp.unige.ch/pub/tex/macros/lettre_2.346.tar.gz">version
plus récente (2.346)</a>, il vous suffira ensuite, pour l'utiliser, de la
placer dans votre répertoire inputs.</p>
-->
2002-11-13 12:18:06 +01:00
<h3>Les bases</h3>
<p>Voici un exemple de fichier de base (vous disposez de toutes les
commandes de la classe <code>letter</code>, on ne les redonne pas toutes
ici) :</p>
2002-11-13 12:18:06 +01:00
<pre>
\documentclass[11pt]{lettre}
\usepackage[utf8]{inputenc}
2002-11-13 12:18:06 +01:00
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\begin{document}
\begin{letter}{<em>destinataire</em>}
\name{<em>expéditeur</em>}
\def\concname{<em>Objet :~</em>} % On définit ici la commande 'objet'
2002-11-13 12:18:06 +01:00
\conc{<em>Objet de la lettre</em>}
\nref{<em>Références de la lettre, de votre point de vue</em>}
\vref{<em>Références de la lettre, du point de vue de votre interlocuteur</em>}
2002-11-13 12:18:06 +01:00
\opening{<em>Madame, Monsieur,</em>}
<em>Corps de la lettre</em>
\closing{<em>formule de salutations</em>}
\end{letter}
\end{document}
</pre>
<h3>Supprimer le trait de pliage</h3>
<p>
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
</p>
<p>
Premièrement, on peut placer dans le préambule cette définition
</p>
<pre>
\makeatletter
\newcommand*{\NoRule}{\renewcommand*{\rule@length}{0}}
\makeatother
</pre>
<p class="continue">
et utiliser la commande <code>\NoRule</code> dans le corps des lettres
pour lesquelles on ne souhaite pas ce trait. Par exemple
</p>
<pre>
\begin{letter}{<var>Premier destinataire</var>}
\NoRule
<var>Corps de la lettre</var>
\end{letter}
\begin{letter}{<var>Second destinataire</var>}
<var>Corps de la lettre</var>
\end{letter}
</pre>
<p class="continue">
donnera deux lettres, dont la première n'aura pas de trait de pliage
mais la seconde si.
</p>
<p>
Deuxièmement, vous pouvez placer dans le fichier <code>.ins</code> (voir
la section « Personnaliser ») une ligne supprimant le trait
chaque fois que vous utiliserez ce fichier <code>.ins</code>.
</p>
<pre>
\renewcommand*{\rule@length}{0}
</pre>
<p>
Troisièmement, si vous voulez systématiquement supprimer ce trait, vous
pouvez créer une classe spéciale <code>xletter</code>. Créez un fichier
<code>xletter.cls</code> et saisissez le code suivant.
</p>
<pre>
\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
</pre>
<p class="continue">
Placez ce fichier dans les chemins de recherche de TeX. L'utilisation
de cette classe est strictement identique à celle de <code>lettre</code>
mais elle accepte deux options supplémentaires :
</p>
<pre>
\documentclass{xlettre}
</pre>
<p class="continue">
ou
</p>
<pre>
\documentclass[norule]{xlettre}
</pre>
<p class="continue">
supprime <em>systématiquement</em> les traits de pliage, tandis que
</p>
<pre>
\documentclass[rule]{xlettre}
</pre>
<p class="continue">
les ajoute <em>conformément aux règles de la classe <code>lettre</code></em>.
</p>
2002-11-13 12:18:06 +01:00
<h3>Personnaliser</h3>
<p>Un certain nombre de paramètres de vos lettres sont peu susceptibles
2002-11-13 12:18:06 +01:00
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 <code>lettre</code>, l'en-tête par défaut est
2002-11-13 12:18:06 +01:00
obligatoire.</p>
<p>L'en-tête est défini dans un fichier de configuration,
<code>default.ins</code> et qui doit être placé dans le répertoire
inputs (une autre possibilité est de placer ces commandes dans un
fichier <code>noel.ins</code> et d'utiliser dans le fichier
<code>.tex</code> la ligne
</p>
<pre>
\institut{noel}
</pre>
<p class="continue">
dans le préambule, à chaque fois que vous devrez utiliser ces
paramètres). Voici un exemple :</p>
2002-11-13 12:18:06 +01:00
<pre>
\name{Père Noël}
\signature{Papa Noël}
\address{\centering
\textbf{\textsc{Père Noël, Lutins et Associés}}\\
<em>% On peut mettre en forme l'en-tête... Ici, il est centré, et on</em>
<em>% demande à ce que le nom soit en petites majuscules et en gras.</em>
Fabricant de jouets depuis toujours\\
Palais des Jouets}
\lieu{Pôle Nord}
2002-11-13 12:18:06 +01:00
<em>% Ce paramètre sert à indiquer dans la lettre « Au Pôle</em>
<em>% Nord, le 25 décembre 2000 »</em>
2002-11-13 12:18:06 +01:00
\telephone{}
\email{pere.noel@polenord.pn}
\nofax
<em>% C'est \fax{} pour indiquer un numéro de fax</em>
2002-11-13 12:18:06 +01:00
</pre>
<p>Ce qui donne la chose suivante en guise d'en-tête :</p>
2002-11-13 12:18:06 +01:00
<div class="illustration"><img src="heading.jpg" alt="En-tête" /></div>
2002-11-13 12:18:06 +01:00
<div class="metainformation"> Auteurs : Marie-Lan Nguyen (2000),
François-Xavier Coudert (2002).
<date value="from git" /> </div>
2002-11-13 12:18:06 +01:00
</body> </html>