Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Accents avec XeLaTeX !

1,326 views
Skip to first unread message

issa...@gmail.com

unread,
Jan 31, 2009, 8:17:24 PM1/31/09
to
Bonjour,
j'utilise XeLaTeX sous WinEdt mais après compilation, les lettres
accentuées ne figurent pas sur le document.
dans la préambule j'ai ça:

\documentclass[a4paper,12pt]{article}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}

est-ce qu'il me manque quelque chose?? J'ai fait plusieurs recherches
sur ce sujet mais j'ai rien trouvé!!! :-(

pluton

unread,
Jan 31, 2009, 9:50:03 PM1/31/09
to
en fait WinEdt ne gère pas bien l'utf8 et il faudrait que la source
Latex du document
à compiler avec xelatex soit sauvegardée en utf8 pour que les accents
soient pris en compte:
il faut alors choisir un autre éditeur comme texmaker...

sinon, comme source, voici quelque chose qui compile bien (j'ai
récupéré la chose sur internet):

\documentclass[11pt]{memoir}
\usepackage{lipsum}
\usepackage{fontspec, graphicx}
\usepackage[dvipdfm, colorlinks, breaklinks]{hyperref}
\usepackage[usenames]{color}
\usepackage[top=3cm,left=3cm,right=3cm,bottom=2.5cm,a4paper]{geometry}

\setromanfont[Mapping=tex-text]{Myriad Pro}
\setsansfont[Mapping=tex-text,Scale=0.92,
BoldFont={Myriad Pro Semibold},
BoldItalicFont={Myriad Pro Semibold Italic}]{Myriad Pro}
\setmonofont[Scale=MatchLowercase]{Myriad Pro}

\begin{document}
\tableofcontents
\chapter{chapitre 1}
\section{titre de la section 1}
\lipsum[5]
\begin{equation}
\cos=\theta
\end{equation}
\lipsum[5]
\chapter{chapitre 2}
\section{titre de la section 1}
\lipsum[5]
\begin{equation}
\cos=\theta
\end{equation}
\lipsum[5]
\end{document}

Pétiard François

unread,
Feb 1, 2009, 4:56:37 AM2/1/09
to
issa...@gmail.com a écrit :

Voilà un document édité dans WinEdt (en le mettant au format UTF8) qui
compile bien.

\documentclass[a4paper,12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage[francais]{babel}
\begin{document}
éàûîçà
\end{document}


François

--
Je t'assure que je ne fais pas exprès, JCC. Mais, étant programmé en
TeX, je ne peux pas supporter de telles imprécisions concernant mon
propre fonctionnement. On est bord du gouffre, du buffer overflow, de
la division par zéro, de la violation de segmentation larvaire. Je
rappelle aussi que je ne modifie pas TeX pour le plaisir de te trouver
des puces, car je « plaisir » ne fais pas partie de mon dictionnaire
bilingue TeX-humain et par ailleurs TeX est gelé par décret divin. Ces
précautions étant prises, je peux encore une fois te contredire : \par
ne se comporte pas comme une commande \outer (ou alors de très loin).
-+- Joss in fr.comp.text.tex -+-

Benoit RIVET

unread,
Feb 1, 2009, 5:00:31 AM2/1/09
to
<issa...@gmail.com> wrote:

> Bonjour,
> j'utilise XeLaTeX sous WinEdt mais après compilation, les lettres
> accentuées ne figurent pas sur le document.
> dans la préambule j'ai ça:
>
> \documentclass[a4paper,12pt]{article}
> \usepackage[latin1]{inputenc}

Si je ne m'abuse, XeLaTeX ne fonctionne qu'avec l'encodage UTF8. Donc :

1. Inutile d'utiliser inputenc,
2. Le codage latin1 ne donnera certainement pas le résultat attendu,
3. Il faut régler ton éditeur de texte pour que ton fichier soit codé
en UTF8

--
Benoît RIVET

mpg

unread,
Feb 1, 2009, 5:56:20 AM2/1/09
to
issa...@gmail.com scripsit:

Il manque éventuellement des choses, mais il y a surtout des trucs en
trop. Non seulement inputenc n'est pas nécessaire avec XeLaTeX mais il
*ne* peut *pas* marcher avec et est donc *néfaste* dans ces conditions.

Si ton éditeur gère l'utf-8, tu peux encoder to nsource en utf-8, et
comme c'est l'encodage par défaut de XeTeX, tu n'as rien à rjouter
concernant l'encodage d'entrée dans ton source.

Sinon, ou si tu préfères rester en latin1 ou latin9 pour une raison ou
une autre, il faut spécifier l'encodage, mais à la façon de XeTeX, à
savoir

\XeTeXinputencoding iso-8859-1

au début de chaque fichier source (même ceux qui sont \input-és). C'est
techniquement bien plus propre qu'inputenc, au passage (il n'y a juste
pas moyen de faire un truc « propre » sur un TeX classique à ce
niveau).

À part ça, fontenc est le plus souvent parfaitement inutile avec
XelaTeX, il faut donc mieux l'enlever. (Les rares fois ou tu en as
besoin, c'est souvent un autre paquet (p. ex. de fontes mathématiques)
qui va l'appeler pour toi, donc pas de souci à se faire.)

Enfin, pour profiter des possibilités de XeTeX en matières de fontes,
fontspec est incontournable. Et pour divers autres trucs, c'est cool de
charger xltxtra (qui appelle entre autres fontspec). Tu mélanges tout
ça, tu arrives au préambule minimal suivant :

% \XeTeXinputencoding iso-8859-1 % si c'est le cas
\documenclass[a4paper]{machin}
\usepackage{xlxtra} % inclut fontspec
\usepackage[french]{babel}

% \setmainfont[mapping=tex-text]{Ma Belle Police} % cf le manuel
% fontspec : tex-text sert à avoir les ligatures usuelles --, ---, etc.


--
Manuel Pégourié-Gonnard Institut de mathématiques de Jussieu
http://weblog.elzevir.fr/ http://people.math.jussieu.fr/~mpg/

Ulrike Fischer

unread,
Feb 1, 2009, 6:04:19 AM2/1/09
to

1. N'utilise jamais inputenc avec xelatex.

2. N'utilise pas fontenc avec xelatex (c'est possible dans certains
cas, mais pas conseille pour des textes normales).

3. Utilise \usepackage{xltxtra} (qui appelle fontspec et xunicode)
et lis la documentation de fontspec.

4. Si tu peux sauve ton document en utf8 (winedt le peut si ton
texte contient seulement des characteres latin1). Si tu ne le veut
pas, mets au debut de ton document et de chaque fichier que tu
appelle avec \input.

\XeTeXinputencoding cp1252


--
Ulrike Fischer

Alain Matthes

unread,
Feb 1, 2009, 6:03:30 AM2/1/09
to
On 2009-02-01 11:56:20 +0100, mpg <mpg+...@elzevir.fr> said:
>
> Sinon, ou si tu préfères rester en latin1 ou latin9 pour une raison ou
> une autre, il faut spécifier l'encodage, mais à la façon de XeTeX, à
> savoir
>
> \XeTeXinputencoding iso-8859-1

Franchement dommage d'utiliser XeTeX avec latin1 !

Alain

Ulrike Fischer

unread,
Feb 1, 2009, 1:08:45 PM2/1/09
to
Am Sun, 1 Feb 2009 12:03:30 +0100 schrieb Alain Matthes:


>> Sinon, ou si tu préfères rester en latin1 ou latin9 pour une raison ou
>> une autre, il faut spécifier l'encodage, mais à la façon de XeTeX, à
>> savoir
>>
>> \XeTeXinputencoding iso-8859-1
>
> Franchement dommage d'utiliser XeTeX avec latin1 !

Pourquoi? Si tu utilises seulement les characteres de latin1 ca ne
fait pas beaucoup de difference, et si tu as par exemple des
listings que tu veux utiliser aussi dans des documents pour
(pdf)latex c'est meme mieux de les encoder en latin1.


--
Ulrike Fischer

Alain Matthes

unread,
Feb 1, 2009, 5:15:26 PM2/1/09
to

Ah pourquoi et bien parce que !
Pas beaucoup de différence pour l'utilisateur sans doute mais à quoi
cela sert-il que chacun
ait son petit encodage
Ce n'est pas un problème technique mais finalement XeTeX si j'ai bien compris
fonctionne par défaut en utf8 aussi je trouve un peu rétrograde de revenir
à latin1. et puis il semble qu'avec XeLaTeX on puisse utiliser listings
( enfin je n'en sais rien
mais il y a eu une enfilade sur le sujet voir ci-dessous
Manuel si tu nous lis, qu'en est-il exactement?)

Enfin si vraiment on ne peut se passer de listings, on peut travailler
uniquement avec des fichiers externes en latin1 pour listings avec le fichier
principal en utf8 et il reste la solution listingsutf8.sty

Sinon je cite Manuel

"Je viens de faire un petit test d'utilisation de listings avec compilation
par xelatex, et ça semble marcher. L'exemple est le suivant :

\documentclass[a4paper]{article}
\usepackage{xltxtra} % charge aussi fontspec et xunicode, nécessaires...
\usepackage{listings}
\usepackage[frenchb]{babel}

\begin{document}
Bla. Héhé\dots
\begin{lstlisting}[language={[LaTeX]TeX}]
\begin{test}
\une\macro % avec des commentaires accentués
\une\autre\bizarreté % ça marche !
\end{test}
\end{lstlisting}
Bla.
\end{document}

Le source doit (évidement) être enregistré en UTF-8. Pour le moment j'ai
l'impression que ça marche, mais je n'ai pas non plus testé ça en long en
large et en travers, donc si de gros utilisateurs de listings veulent
essayer leur code compliqué à partir de l'exemple de base ci-dessus..."

Cordialement

Alain

I§@M

unread,
Feb 1, 2009, 6:29:50 PM2/1/09
to
Je vous remercie tous pour vos réponses, je suis passé en texmaker ca
marche super bien !
Sous WinEdt ça ne marche toujours pas, mais c'est pas grave ...
Merci beaucoup!!!

Franck Pastor

unread,
Feb 2, 2009, 2:03:08 AM2/2/09
to
On 2009-02-01 19:08:45 +0100, Ulrike Fischer <ne...@nililand.de> said:

Il est difficile en français de n'utiliser que des caractères en
latin1 : les ligatures œ, Œ, le symbole euro €, les trois points de
suspension…, autant de caractères qui ne se retrouvent pas directement
en latin1. Latin9 améliore les choses, mais n'a pas le caractère
« trois points de suspension ».

mpg

unread,
Feb 2, 2009, 3:58:06 AM2/2/09
to
Alain Matthes scripsit:

>>>> \XeTeXinputencoding iso-8859-1
>>>
>>> Franchement dommage d'utiliser XeTeX avec latin1 !
>>
>> Pourquoi? Si tu utilises seulement les characteres de latin1 ca ne
>> fait pas beaucoup de difference, et si tu as par exemple des
>> listings que tu veux utiliser aussi dans des documents pour
>> (pdf)latex c'est meme mieux de les encoder en latin1.
>>

Je suis assez d'accord avec ça.

> Ah pourquoi et bien parce que !

C'est un argument en effet ;-)

> Pas beaucoup de différence pour l'utilisateur sans doute mais à quoi
> cela sert-il que chacun ait son petit encodage Ce n'est pas un
> problème technique mais finalement XeTeX si j'ai bien compris
> fonctionne par défaut en utf8 aussi je trouve un peu rétrograde de
> revenir à latin1.

Mouais. D'un côté, quitte à passer à XeTeX, je trouve que c'est
effectivement bien d'en profiter pour être en utf-8, mais vu que de
toutes façons tous els outils ne le supportent pas encore, on est
obligés pour un moment d'avoir « chacun son petit encodage » comme tu
dis, sauf qu'on fait pas vraiment ça « dans son coin » dans la mesure où
on utilise des encodages standardisés (sauf cp1252 et sans doute
macroman) et qu'on les déclare, surtout à un outil comme XeTeX qui sait
vraiment les gérer comme il faut.

Au passage, je trouve qu'un effet de bord très intéressant de la
transition vers utf-8 est que ça force à réaliser que dans la vie il y a
plusieurs encodages [1], et donc à commencer enfin à faire un peu les choses
proprement à ce niveau. À mon avis, c'est très positif.

[1] Sauf que certains éditeurs sous windows (TeXnicCenter) continuent à
croire que cp1252 est le seul encodage.

> et puis il semble qu'avec XeLaTeX on puisse utiliser listings ( enfin
> je n'en sais rien mais il y a eu une enfilade sur le sujet voir
> ci-dessous Manuel si tu nous lis, qu'en est-il exactement?)
>

D'après mes tests effectués il y a quelque temps, ça marchait impec.
J'ai pas testé beaucoup plus parce qu'au quotidien j'utilise plutôt
fancyvrb, mais à chaque fois que j'en ai eu besoin ça marchait.

> Sinon je cite Manuel
>
Et je ne désavoue pas cette citation :-)

Ulrike Fischer

unread,
Feb 2, 2009, 4:17:05 AM2/2/09
to
Am Sun, 1 Feb 2009 23:15:26 +0100 schrieb Alain Matthes:

>> Pourquoi? Si tu utilises seulement les characteres de latin1 ca ne
>> fait pas beaucoup de difference, et si tu as par exemple des
>> listings que tu veux utiliser aussi dans des documents pour
>> (pdf)latex c'est meme mieux de les encoder en latin1.
>>
>>
>
> Ah pourquoi et bien parce que !

> Pas beaucoup de différence pour l'utilisateur sans doute mais à
> quoi cela sert-il que chacun ait son petit encodage

> Ce n'est pas un problème technique mais finalement XeTeX si j'ai
> bien compris fonctionne par défaut en utf8 aussi je trouve un peu
> rétrograde de revenir à latin1. et puis il semble qu'avec
> XeLaTeX on puisse utiliser listings ( enfin je n'en sais rien
> mais il y a eu une enfilade sur le sujet voir ci-dessous Manuel
> si tu nous lis, qu'en est-il exactement?)
>
> Enfin si vraiment on ne peut se passer de listings, on peut
> travailler uniquement avec des fichiers externes en latin1 pour
> listings avec le fichier principal en utf8 et il reste la
> solution listingsutf8.sty

Il reste le fait que pdftex est 8-bit et que pour pdftex un
caractere comme ü est en verite deux caracteres. Il y a beaucoup de
solutions pour utiliser pdftex avec utf8 et de reassembler les
parties des characteres. Mais toutes ces solutions sont sophistiques
et peuvent donner des problemes:

Tu dois faire attention si tu utilise url.sty, soul.sty, listings,
hyperref, csquotes (la syntace paresseuse \MakeAutoQuote «» marche
en 8-bit, en utf8 tu dois utiliser la syntaxe \MakeAutoQuote {«}{»}
et il te faut un recent csquotes). \catcode`\ü marche dans tous les
cas bien avec xetex, mais fonctionne avec pdftex seulement si le
fichier est encode en 8-bit.

Ce ne sont pas des gros problemes, mais ca coute du temps (j'ai
ecrit l'annee derniere un article sur xelatex pour le group
allemand et j'ai trouve tous ces problemes). Si quelqu'un utilise
seulement xetex convertir tous les fichiers en utf8 est
certainement le plus simple, mais s'il veut aussi compiler avec
pdflatex \RequirePackage{ifxetex} au debut du document et \ifxetex
\XeTeXinputencoding ... \fi dans tous les fichiers peut etre une
solution plus robuste (si le 8-bit encoding contient tous les
caracteres necessaires -- tu as besoin de plus de caracteres tu
n'as pas le choix).


--
Ulrike Fischer

Elie

unread,
Feb 3, 2009, 5:32:01 PM2/3/09
to
On 1 fév, 12:04, Ulrike Fischer <ne...@nililand.de> wrote:

> 1. N'utilise jamais inputenc avec xelatex.

Mes deux francs : après discussion avec Will Robertson (Monsieur
XeTeX), on va adapter inputenc pour qu'il marche avec XeTeX et LuaTeX.
Les deux ne mangent que de l'utf8, et la solution sera a priori
commune. Il y a assez peu de chances, cependant, qu'on arrive à une
solution avant mai, date vraissemblable du freeze du code de TeXLive
2009. Cependant si des gens veulent aider, ils sont les bienvenus !
--
Elie

mpg

unread,
Feb 3, 2009, 5:52:21 PM2/3/09
to
Elie scripsit:

>> 1. N'utilise jamais inputenc avec xelatex.
>
> Mes deux francs : après discussion avec Will Robertson (Monsieur
> XeTeX),

Ahem. Monsieur XeTeX, c'est Jonathan Kew. En fait, Will Robetson serait
plutôt monsieur XeLaTeX : il est l'auteur de fontspec.sty entre autres,
et a rejoint l'équipe LaTeX3 depuis quelques mois (ce qui me semble une
excellente chose).

> on va adapter inputenc pour qu'il marche avec XeTeX et LuaTeX.
> Les deux ne mangent que de l'utf8,

Re-ahem. XeTeX mange bien d'autres choses que de l'utf-8
(vraisemblablement tout ce que connaît iconv), comme on l'a d'ailleurs
dit dans ce fil.

> et la solution sera a priori
> commune.

Au niveau de l'interface je suppose ? Parce qu'au niveau implémentation, soit
j'ai manqué des épisodes importants, soit XeTeX et LuaTeX sont quand même
très différents.

Ceci dit, c'est une bonne nouvelle. J'avais vu il y a longtemps une
discussion à ce sujet sur la liste latex3, mais ça semblait plutôt
bloqué. C'est cool que ça ce soit débloqué.

> Il y a assez peu de chances, cependant, qu'on arrive à une
> solution avant mai, date vraissemblable du freeze du code de TeXLive
> 2009. Cependant si des gens veulent aider, ils sont les bienvenus !

Et d'ici là, répétons en coeur : ne pas utiliser inputenc avec XeLaTeX.

Ulrike Fischer

unread,
Feb 4, 2009, 3:17:05 AM2/4/09
to
Am Tue, 3 Feb 2009 23:52:21 +0100 (CET) schrieb mpg:


>> on va adapter inputenc pour qu'il marche avec XeTeX et LuaTeX.

...

> Ceci dit, c'est une bonne nouvelle. J'avais vu il y a longtemps une
> discussion à ce sujet sur la liste latex3, mais ça semblait plutôt
> bloqué. C'est cool que ça ce soit débloqué.

Si je me souvient bien, il y avait deux suggestions:

1. "\ifxetex ignore tout le code de inputenc \fi" ce qui evite des
problemes si quelqu'un a oublier d'enlever inputenc, mais ne donne
des bons resultat seulement si les fichiers sont en utf8.

2. Une translation de l'option de inputenc -> \XeTeX...encoding.

Mais ca c'est problematique: \XeTeXinputencoding affecte seulement
le fichier dans lequel se trouve la commande, donc on a des
problemes avec les fichiers qu'on \input. \XeTeXdefaultencoding
affecte tous les fichiers qui suivent, donc on a des problemes avec
les fichiers auxilières (.aux, .toc etc) qui sont toujours en utf8.


Je vois seulement une solution saine:

\usepackage[utf8(x)]{inputenc} -> fais rien (ou appelle xunicode ce
qui peut etre un peu "tricky" parce qu'il faut le faire normalement
apres fontspec)

\usepackage[<8-bit-encoding]{inputenc} -> message d'erreur.

--
Ulrike Fischer

Elie

unread,
Feb 4, 2009, 7:32:02 AM2/4/09
to
On 3 fév, 23:52, mpg <mpg+n...@elzevir.fr> wrote:
> Elie scripsit:

> Ahem. Monsieur XeTeX, c'est Jonathan Kew. En fait, Will Robetson serait
> plutôt monsieur XeLaTeX : il est l'auteur de fontspec.sty entre autres,
> et a rejoint l'équipe LaTeX3 depuis quelques mois (ce qui me semble une
> excellente chose).

Oui, je le connais surtout pour être monsieur fontspec en effet...

> Re-ahem. XeTeX mange bien d'autres choses que de l'utf-8
> (vraisemblablement tout ce que connaît iconv), comme on l'a d'ailleurs
> dit dans ce fil.

En fait après de plus amples discussions, en effet il n'y a à peu près
aucun rapport entre les problèmes de LuaTeX et ceux de XeTeX...
D'ailleurs Javier Bezos a fait un style (http://ctan.binkerton.com/
macros/latex/exptl/lualatex/lua-inputenc/lua-inputenc.sty) qui fait un
boulot pas trop mauvais, mais qui doit passer de l'état de proof of
concept à celui de paquetage...

> Ceci dit, c'est une bonne nouvelle. J'avais vu il y a longtemps une
> discussion à ce sujet sur la liste latex3, mais ça semblait plutôt
> bloqué. C'est cool que ça ce soit débloqué.

Pour être tout à fait franc, ma principale occupation jusqu'à présent
c'était brasser du vent en échangeant des mails, et j'en n'ai pas
vraiment honte... les devs LaTeX et LuaTeX passant quand même
nettement plus de temps à coder dans leur coin et à dire que ce
serait mieux autrement qu'à essayer de trouver des solutions et de
définir des trucs un peu précis, du coup pour faire bouger les choses
ça prend un temps fou en non-technique...

> Et d'ici là, répétons en coeur : ne pas utiliser inputenc avec XeLaTeX.

Ni avec LuaTeX.
--
Elie

0 new messages