Précédent   Forum des professionnels en informatique > Autres langages > Autres langages > Latex
Latex Forum d'entraide sur LaTeX. Avant de poster -> FAQ LaTeX
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/01/2012, 08h57   #1
Membre éclairé
 
Inscription : février 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 317
Points : 392
Points : 392
Par défaut Classe lettre avec XeLaTeX

Bonjour
Le problème est simple à énoncer :
lorsqu'on utilise \encl{documents joints} de la classe lettre un caractère parasite apparaît avant documents joints dans le pdf produit par xelatex ; mais ceci ne se produit pas si l'on compile avec
xelatex --no-pdf suivi de dvipdfmx
Dans lettre.cls j'ai essayé de comprendre la définition de \encl
Code :
1
2
3
4
5
6
\def\encl#1{\penalty100\relax
  \if@letter
    \vskip\csname letter\the\c@lettre\endcsname mm
  \fi
  \l@@info{Annexes declarees}%
  \noindent\t{\enclname}{#1\\}\vfill\penalty-100\relax}
N'y parvenant pas j'ai ajouté ceci dans l'en-tête du document :
Code :
1
2
3
\renewcommand{\encl}[1]{
\kern-1em~ P.j ~ #1}
En fait c'est juste pour comprendre et ne pas mourir idiot !
Bonne journée à toutes et tous.
yves04 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 07h26   #2
Membre confirmé
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 242
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2011
Messages : 242
Points : 289
Points : 289
peux on avoir un ECM, décidément, PDFTeX et LuaTeX ont de beau jour devant eux...
Mr Mi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 11h53   #3
Membre éclairé
 
Inscription : février 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 317
Points : 392
Points : 392
Bonjour et merci de te pencher sur le problème. Voici l'ECM
Code :
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
33
34
35
36
37
38
39
40
%% garder le \renewcommand{\encl} si on compile avec xelatex
%% le commenter si l'on compile avec xelatex --no-pdf
\documentclass[12pt,a4,leqno,fleqn]{lettre}
\usepackage{fontspec}
\setmainfont{GFSArtemisia.otf}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\usepackage{eurosym}

\makeatletter
\let\concnames=\concname \def\concname{{\bf \concnames}}
\makeatother
% pour NoRule = pas de pliage
\makeatletter
\newcommand*{\NoRule}{\renewcommand*{\rule@length}{0}}
\makeatother

\renewcommand{\encl}[1]{
\kern-1em~ P.j ~ #1 %le \kern -1em introduit un crénage arrière de un caractère
  }
\date{2 juillet 2008}
\begin{document}
\letter{destinataire\\
ville}
\address{expéditeur\\
rue-expéditeur\\
ville-expéditeur}
\telephone{04-92-........}
\fax{}
%\email{}
\lieu{Oucé}
\conc{bla bla bla}
\NoRule
\opening{Madame, Monsieur,}
...........
\signature{signer ici}
\closing{bli bli bli bli}
\encl{photocopie jointe}
\end{document}
Bonne journée.
PS : je ne connais ni LuaTeX ni PdfTeX (mais pdflatex)
yves04 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 17h28   #4
Membre confirmé
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 242
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2011
Messages : 242
Points : 289
Points : 289
pour pdftex et luatex, c'est une question de format et de moteur :
est un format pdflatex pour pdftex (et ainsi de suite).

Chez moi, en commentant ta redéfinition de \encl, je compile avec XeLaTeX, sur TeXLive 2011 (mac OS) régulièrement mise a jour avec tlmgr.
Mr Mi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 19h17   #5
Membre Expert
 
Avatar de unbonpetit
 
Enseignant
Inscription : avril 2009
Messages : 1 748
Détails du profil
Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : avril 2009
Messages : 1 748
Points : 1 910
Points : 1 910
Citation:
Envoyé par Mr Mi Voir le message
Chez moi, en commentant ta redéfinition de \encl, je compile avec XeLaTeX, sur TeXLive 2011 (mac OS) régulièrement mise a jour avec tlmgr.
Tu ne réponds pas à la question Bon j'arrête... En allant fouiller le code, on s'aperçoit que la macro \t est redéfinie par le package fontspec. Il suffit donc de redéfinir la macro comme elle est écrite dans la classe lettre pour que tout aille mieux. Ceci dit, c'est terriblement imprudent pour un auteur de classe d'appeler ses macros \t ou \a ou tout autre nom aussi simple. Je qualifierais donc ceci de "bug" dans la classe lettre.

Code :
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
33
34
35
36
37
38
39
40
41
\documentclass[12pt,leqno,fleqn]{lettre}
\usepackage{fontspec}
\setmainfont{GFSArtemisia.otf}
\usepackage{polyglossia}
\setdefaultlanguage{french}
\usepackage{eurosym}

\makeatletter
\let\concnames=\concname \def\concname{{\bf \concnames}}
\makeatother
% pour NoRule = pas de pliage
\makeatletter
\newcommand*\NoRule{\def\rule@length{0}}
\makeatother

\def\t#1#2{\begin{list}{#1}{\setlength{\labelsep}{10pt}%
                            \setlength{\labelwidth}{\listmargin}%
                            \setlength{\leftmargin}{\listmargin}%
                            \setlength{\listparindent}{0pt}}%
           \item #2%
           \end{list}}

\date{2 juillet 2008}
\begin{document}
\letter{destinataire\\
ville}
\address{expéditeur\\
rue-expéditeur\\
ville-expéditeur}
\telephone{04-92-........}
\fax{}
%\email{}
\lieu{Oucé}
\conc{bla bla bla}
\NoRule
\opening{Madame, Monsieur,}
...........
\signature{signer ici}
\closing{bli bli bli bli}
\encl{photocopie jointe}
\end{document}
unbonpetit est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 08h13   #6
Membre éclairé
 
Inscription : février 2010
Messages : 317
Détails du profil
Informations forums :
Inscription : février 2010
Messages : 317
Points : 392
Points : 392
Bonjour et merci beaucoup unbonpetit, ta solution fonctionne très bien et cerise sur le gâteau, j'en ai compris le pourquoi mais pas comment tu as fait pour trouver !
Donc résolu
Bonne journée à vous toutes et tous.
yves04 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2012, 22h36   #7
Membre Expert
 
Avatar de unbonpetit
 
Enseignant
Inscription : avril 2009
Messages : 1 748
Détails du profil
Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : avril 2009
Messages : 1 748
Points : 1 910
Points : 1 910
Citation:
Envoyé par yves04 Voir le message
j'en ai compris le pourquoi mais pas comment tu as fait pour trouver !
C'est l'habitude de déboguer.

Ici, c'était très facile, avec 4 «\show\t» placés en différents endroits, j'ai trouvé d'où ça venait.
unbonpetit est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h59.


 
 
 
 
Partenaires

Hébergement Web