Écrire des lettres en LaTeX

La classe lettre

a marqué ce sujet comme résolu.

Bonjour à tous,

J'ai commencé (il y a 12 minutes) la rédaction d'un tutoriel dont l'intitulé est Écrire des lettres en LaTeX.

J'aimerais obtenir un maximum de retour sur celui-ci, sur le fond ainsi que sur la forme, afin de proposer en validation un texte de qualité.

Si vous êtes intéressé, cliquez ci-dessous

Merci d'avance pour votre aide

+0 -0

Bonjour,

C'est une bonne initiative, la classe lettre est méconnue pourtant elle est très utile.

J'ai quelques petites suggestions pour compléter ce tutoriel :

  • pas besoin de préciser [utf8] avec XeLaTeX, le moteur est déjà en UTF-8 et n'accepte que ça ;
  • il existe un moyen de ne pas réécrire les coordonnées de l'expéditeur à chaque nouvel environnement letter. Il suffit de les placer dans un fichier « fichier.ins » et d'appeler ledit fichier dans le préambule grâce à la macro \institut{fichier} ;
  • dans le code de l'exercice, pourquoi fournir uniquement l'environnement letter et pas un vrai ECM ?

Enfin, une partie qui serait très intéressante : un mot sur le publipostage. Lorsqu'on rédige des lettres, on a parfois besoin d'en envoyer plein avec quelques changements mineurs, le publipostage sert à ça. Or LaTeX ne propose pas de solution pour le faire simplement.

Il existe cependant des solutions :

  • confier la génération du fichier tex à un langage de script comme le PHP ou le Python ;
  • utiliser le package datatool pour simuler un publipostage directement depuis LaTeX.

J'imagine tout à fait que ce soit en dehors de tes compétences ainsi que du tuto (pour la partie PHP/Python/…) mais en parler un peu pourrait apporter un vrai plus à ce tuto pour le rendre un peu moins basique (à ne pas prendre mal ;) )

Merci pour ton retour.

  • pas besoin de préciser [utf8] avec XeLaTeX, le moteur est déjà en UTF-8 et n'accepte que ça ;

J'avais même pas fait attention. Un reste de copier-coller ^^

  • il existe un moyen de ne pas réécrire les coordonnées de l'expéditeur à chaque nouvel environnement letter. Il suffit de les placer dans un fichier « fichier.ins » et d'appeler ledit fichier dans le préambule grâce à la macro \institut{fichier} ;

Tu lis dans mes pensées. C'est l'objet du dernier extrait que je suis en train d'écrire.

  • dans le code de l'exercice, pourquoi fournir uniquement l'environnement letter et pas un vrai ECM ?

Ok, je vais le faire

Enfin, une partie qui serait très intéressante : un mot sur le publipostage. Lorsqu'on rédige des lettres, on a parfois besoin d'en envoyer plein avec quelques changements mineurs, le publipostage sert à ça. Or LaTeX ne propose pas de solution pour le faire simplement.

Il existe cependant des solutions :

  • confier la génération du fichier tex à un langage de script comme le PHP ou le Python ;
  • utiliser le package datatool pour simuler un publipostage directement depuis LaTeX.

J'imagine tout à fait que ce soit en dehors de tes compétences ainsi que du tuto (pour la partie PHP/Python/…) mais en parler un peu pourrait apporter un vrai plus à ce tuto pour le rendre un peu moins basique (à ne pas prendre mal ;) )

Je ne connaissais pas datatool, mais je peux rajouter un exemple de script en python ou en ruby. Ce travail n'est pas compliqué à faire, alors je pense que je peux le rajouter et rajouter un lien vers la documentation de datatool. Je vais d'ailleurs de ce pas la lire pour me faire une idée des possibilités qu'elle offre.

+0 -0

Bonjour à tous !

La beta du tutoriel a été mise à jour.

Merci pour vos relectures

EDIT : j'ai commencé à lire la documentation de datatools et j'ai pu en tirer un premier code pour le publipostage :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
\documentclass[12pt]{lettre}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage{datatool}

\begin{document}
   \DTLloaddb{fichier}{fichier.csv}
   \DTLforeach{fichier}{\apostrophe =Apostrophe, \prenom =Prenom, \nom =Nom,  \adresse =Adresse}
   {
      \begin{letter}{À \prenom \nom\\
                     \adresse
                    }
         \date{le 07 Septembre 2014}
         \lieu{Lieu sombre et inconnu} 
         \name{Karnaj et autres}  
         \address{Caverne des Dieux\\
                  29 Cascade des Bonheurs}
         \notelephone
         \nofax
         \opening{\apostrophe \nom,}
            Nous venons d'apprendre que des développeurs sont venus te chercher hier, pour 
            t'emmener à la Plage de Développement en vue de devenir la mascotte du bien-aimé 
            site Zeste de Savoir. Félicitations pour ton nouveau titre.
         \closing{Qu'un Zeste de fraîcheur et de connaissance t'accompagne durant ton aventure.}
      \end{letter}
   }
\end{document}

Maintenant, il ne me reste plus qu'à voir comment bien l'intégrer dans le tutoriel.

+0 -0

Quelques observations :

  • je n'arrive pas bien à comprendre pourquoi la partie sur le fichier ins se trouve dans « personnaliser la classe ». Je le verrai mieux dans la partie « les données sur l'expéditeur » ;
  • une coquille dans la même partie que le point précédent, un \ oublié pour la commande \institut : « Dans le fichier tex, il suffit de remplacer les lignes que nous avons placé dans le fichier ins par la commande \institut{nom du fichier ins}. » ;

De mémoire le publipostage était plus compliqué, je suis agréablement surpris ! Par contre, encore une remarque d'organisation, je ne vois pas bien ce que le publipostage fait dans la partie « personnaliser la classe ». Ça devrait faire l'objet d'une section dédiée (AMHA) puisqu'il y a potentiellement beaucoup de choses à dire.

D'ailleurs, je pense pas que ce soit forcément utile de chercher à théoriser sur le fonctionnement de datatool, une description du fonctionnement du code en exemple et ça roule :)

  • une coquille dans la même partie que le point précédent, un \ oublié pour la commande \institut : « Dans le fichier tex, il suffit de remplacer les lignes que nous avons placé dans le fichier ins par la commande \institut{nom du fichier ins}. » ;

C'est corrigé.

D'ailleurs, je pense pas que ce soit forcément utile de chercher à théoriser sur le fonctionnement de datatool, une description du fonctionnement du code en exemple et ça roule :)

Ok, c'est parfait pour moi alors.

De mémoire le publipostage était plus compliqué, je suis agréablement surpris ! Par contre, encore une remarque d'organisation, je ne vois pas bien ce que le publipostage fait dans la partie « personnaliser la classe ». Ça devrait faire l'objet d'une section dédiée (AMHA) puisqu'il y a potentiellement beaucoup de choses à dire.

Je pense que je vais renommer cette partie en « pour aller plus loin ». Comme ça, je pourrais y placer et le fichier ins et le publipostage (le but c'est que le lecteur puisse écrire ces lettres tranquillement avant d'arriver à cette partie et là on lui présente des plus).

PS : ça fait un moment que je pense à une série de tutoriels donc l'objectif serait de présenter des classes et des packages utiles/méconnus. Ce tutoriel et celui que je suis en train d'écrire sur tkzTab en feraient partie. Je compte ouvrir un sujet à ce propos dans la semaine.

+1 -0

Ok, c'est parfait pour moi alors.

À voir si ça passe à la validation aussi :)

J'approuve la partie « pour aller plus loin », c'est effectivement le but.

PS : ça fait un moment que je pense à une série de tutoriels donc l'objectif serait de présenter des classes et des packages utiles/méconnus. Ce tutoriel et celui que je suis en train d'écrire sur tkzTab en feraient partie. Je compte ouvrir un sujet à ce propos dans la semaine.

Vu que mon big tuto sur LaTeX cale un peu (beaucoup en fait :-° ) j'y pense aussi, mais plus sur des points particuliers de LaTeX (glossaire, bibliographie, TeX pourquoi pas, …).

Ah, et moi j'ai également écrit quelques petits trucs qui pourraient aller dans un big tuto. J'ai même un plan :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Introduction 


Partie I : Créer vos premiers documents

Chapitre Un : Le but de LaTeX / Histoire / Sémantique + Chapitre Deux : Installation
Chapitre Trois : Commande pdflatex Préambule Classe article Écriture paragraphe seulement caractères réservés commentaires espace insécable + ligatures + première approche package
Chapitre Quatre :  Structurer documents -> Commande sectionnement + forme étoilée + babel + polyglossia
Chapitre Cinq : Présentation des commandes 2 Plus avancés ->  Donner de la forme + Sémantique + emph + citation + environnement + listes 
Chapitre Six : Donner de la forme 3 Commandes d'annotations -> Ne pas se perdre dans le document


(Partie II : Compléter vos documents)
Chapitre Sept : Des Maths avec LaTeX
Chapitre Huit : Images Tableaux et texte préformaté avec LaTeX, pour embellir vos documents
Chapitre Neuf : Les différents types de document -> book article slides + titlepage


Partie II (III)

Chapitre Dix : Introduction à la création de commande/environnement -> Présentation succincte création + Présentation du CTAN(Tikz Beamer moderncv amsmath) + commande texdoc
Chapitre Onze : Autour de son document : BibTex + Makeindex + ? (hypereff) 
Chapitre Douze : Modifier les choses -> police + ? (geometry + fancyhdr) 


Partie IV : Annexe 

Chapitre Treize : Un IDE
Chapitre Quatorze : S'améliorer et demander de l'aide (Lien vers tutoriel plus avancé + Lien vers cours typographie)


Conclusion 

Ce qui est entre parenthèses précédé d'un point d'interrogation, c'est ce qui peut ne pas être abordé et mérite peut-être un tutoriel à part.

+0 -0
Banni

Salut, il semble qu'il subsiste plain de \ manquants devant des noms de commandes (à moins que ça soit un bug d'affichage).

Exemples :

À partir de maintenant, je ne mettrais plus le préambule mais seulement le code entre le begin{document} et le end{document}.

La commande lieu est facultative. Si elle n'est pas utilisée, un lieu par défaut sera utilisé. Pour ne pas obtenir de lieu, il faut utiliser la commande nolieu.

Il y en a d'autres.

Autre chose, concernant la lettre à reproduire : les noms de mois ne prennent pas de majuscule en français, donc pas de « Septembre ».

Et je suis quasi certain que la classe lettre ne correspond pas à la norme des courriers en France. Je n'ai pas encore trouvé de source de poids, mais ça me semble plutôt correspondre à ceci :

http://www.maildesigner.com/img/presentation.gif

ou à cela : http://3.bp.blogspot.com/_U_SHMjJqvrs/TU0xH1pc49I/AAAAAAAAAA0/w-XEz2l2ZD0/s1600/normes%2Bcourrier.JPG (notez les retraits en début de paragraphe dans ce dernier cas)

à savoir, notamment, la date et le lieu SOUS le destinataire.

Rappelons que l'auteur initial de la classe lettre est suisse, peut-être leur usage est-il différent du notre. Par défaut, la classe lettre place-t-elle l'adresse du destinataire dans la zone correspondant à une enveloppe à fenêtre ? Si non, je suggère que le tutoriel propose l'adaptation nécessaire.

Bonjour à tous !

La beta du tutoriel a été mise à jour.

Merci pour vos relectures. La partie sur le publipostage est écrite, qu'en pensez vous ?

EDIT @quark67 : Merci pour ton retour. Je rajoute les \ manquants. Pour la place de l'adresse du destinataire et la date, la convention française n'est pas très claire (ou en tout cas pas du tout respectée). On croise du tout et du n'importe quoi, mais les deux qui sont globalement bonnes sont celle que tu présentes avec l'image et celle de la classe lettre. Et oui, l'adresse du destinataire est placée dans la zone qui correspond pour une enveloppe à fenêtre. Je peux cependant proposer de modifier la classe pour placer la date et le lieu après l'adresse, mais je pense qu'il ne vaut mieux pas.

+0 -0

En effet, on trouve un peu tout est n'importe quoi en matière de présentation des lettres. D'ailleurs, la norme AFNOR NZ-11-001 (c'est son petit nom) n'impose rien, elle donne juste des directives pour optimiser la présentation, sans la rendre obligatoire pour autant.

S'aventurer dans la personnalisation de la classe, pour coller à l'AFNOR, me semble un peu TeXnique et pas forcément utile. Après, il est vrai que la présentation différente de la norme (qu'on nous apprend d'ailleurs à l'école) est un peu déroutante et peut rebuter les débutants. Mais inversement, est-ce que la vue d'un code LaTeX bien compliqué les attirera ? ^^

J'ai parcouru rapidement la partie sur le publipostage, je n'ai pas grand chose à rajouter. Peut être montrer un exemple de condition, pour changer le « cher » en « chère » en fonction du destinataires. Après ça, toutes les bases sont posées pour voler de ses propres ailes :)

J'ai parcouru rapidement la partie sur le publipostage, je n'ai pas grand chose à rajouter. Peut être montrer un exemple de condition, pour changer le « cher » en « chère » en fonction du destinataires. Après ça, toutes les bases sont posées pour voler de ses propres ailes :)

paspro

Moi je mets tout ça dans le csv. :-° Mais c'est vrai que ça peut être intéressant d'en parler.

+0 -0

Bonjour à tous !

La beta du tutoriel a été mise à jour.

Merci pour vos relectures

EDIT : j'ai seulement rajouté la partie sur la comparaison avec l'exemple du sexe, alors ceux qui avaient déjà lu, rendez vous directement à la fin du tutoriel.

+0 -0

Tu as fait du bon boulot :) Juste quelques petites corrections syntaxiques :

  • Tu as une répétition de « aux bons endroits » dans l'introduction ;
  • Dans « la classe lettre », il manque un « s » à « … pour écrire des lettres » et éventuellement un point à la fin de la phrase ;
  • Le package polyglossia n'est utilisable qu'avec XeLaTeX ou LuaLaTeX. C'est un détail, à toi de voir si tu le précises ;
  • Dans « Les informations nécessaires », il manque un antislash dans le code exemple et un « a » dans « destinataire »
1
2
3
4
5
6
\begin{letter}{nom du destinataire\\
              adresse\\
              du\\
              destinataire
             }
\end{letter}
  • Dans la même partie, un petit exemple de modification de langue serait sympa ;
  • Dans « Les données sur l'expéditeur », une faute à « Si vous le précisez pas de numéro » ;
  • Dans la même partie, tu dis que si l'expéditeur n'est pas précisé, c'est une adresse par défaut qui est indiquée. L'adresse par défaut est dans un fichier INS, un petit renvois vers la partie en parlant peut être sympa (on le voit en lisant le fichier LOG) ;
  • Dans « La lettre », une faute : « La commande \closing se charge de cela » ;
  • Dans « Exemple de lettre », tu veux nous mettre à la porte avant la fin ^^ (« Pour finir ce tutoriel »). Un reste de l'ancienne version, quand il n'y avait pas de partie pour aller plus loin :) ;

Certains points relèvent du pinaillage mais bon, à toi de voir. (et merci pour le remerciement ^^ )

Bonjour à tous !

La beta du tutoriel a été mise à jour.

Merci pour vos relectures.

@ paspro : merci pour ce retour. J'ai fait les corrections et autres améliorations. Par contre j'ai hésité à retirer le « Pour finir ce tutoriel ». Il ne faut pas laisser les lecteurs rester trop longtemps, non ? :-°

+0 -0

Bonjour à tous !

La beta du tutoriel a été mise à jour.

Merci pour vos relectures

EDIT : une toute petite modification, j'ai rajouté la commande \bsc pour les noms. Pensez vous que je puisse l'envoyer en validation en l'état ou pensez vous qu'il manque quelque chose ?… Euh, est-ce que vous pensez déjà ? :-°

+0 -0

Bonjour à tous !

La beta du tutoriel a été mise à jour.

Merci pour vos relectures

EDIT : je viens d'envoyer cette version en validation.

+0 -0

Bonjour,

La bêta du contenu « Écrire des lettres en LaTeX » a été désactivée.

+0 -0
Ce sujet est verrouillé.