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

Changer les commandes "\og" et "\fg"

43 views
Skip to first unread message

Yoann LE BARS

unread,
Jan 22, 2011, 12:53:23 AM1/22/11
to

Salut à tous !

Les commandes « \og » et « \fg » permettent de réaliser des
guillemets ouvrants et fermants français en appliquant les règles en
usage à l’Imprimerie nationale – si je ne me trompe pas, espace
justifiante insécable après le guillemet ouvrant, espace justifiante
insécable avant le guillemet fermant et l’espace qui convient après.
Cependant, en utilisant XeLaTeX, je me suis rendu compte que ces
commandes n’utilisent pas les caractères guillemets de la police de
caractère, ce qui est un peu disgracieux – compiler l’exemple en fin
de ce message pour voir un exemple avec Linux Libertine.

Je me demande donc comment corriger ce comportement. J’ai fait un
essai avec les commandes suivantes :

\renewcommand\og{«~}
\renewcommand\fg{~»\xspace}

Cela dit, je ne pense pas que l’espace insécable produite par « ~ »
soit justifiante. De toute façon, ces commandes n’ont aucun effet, les
comportements de « \og » et de « \fg » restent inchangés.

Est-ce que quelqu’un a une idée pour utiliser les caractère
guillemets de la police de caractère en court d’utilisation en
respectant les règles en vigueurs à l’Imprimerie française ?

À bientôt.


Yoann

\documentclass[12pt, french]{article}

\usepackage{csquotes}
\usepackage{babel}
\usepackage{xunicode}
\usepackage{fontspec}
\usepackage{xltxtra}

\renewcommand{\og}{«~}
\renewcommand{\fg}{~»\xspace}

\begin{document}
\og « » \fg
\end{document}

Yoann LE BARS

unread,
Jan 22, 2011, 12:56:58 AM1/22/11
to

Salut à tous !

Je me suis raté dans le copié-coller, une ligne a sauté, voici la
bonne version de l’exemple :

\documentclass[12pt, french]{article}

\usepackage{csquotes}
\usepackage{babel}
\usepackage{xunicode}
\usepackage{fontspec}
\usepackage{xltxtra}

\setromanfont[Mapping=tex-text]{Linux Libertine O}

\renewcommand{\og}{«~}
\renewcommand{\fg}{~»\xspace}

\begin{document}
\og « » \fg
\end{document}

À bientôt.

Yoann

GL

unread,
Jan 22, 2011, 4:49:28 AM1/22/11
to
Le 22/01/2011 06:56, Yoann LE BARS a �crit :
>
> Salut � tous !
>
> Je me suis rat� dans le copi�-coller, une ligne a saut�, voici la
> bonne version de l�exemple :
^^^^^

Regarder la doc de babel, page 143:
\og et \fg (*o*uvrez / *f*ermer les *g*guillemets)
sont d�finies � partir de
\guillemotleft et \guillemotright

\guillemotleft: \hbox{$\scripscripstyle\ll$}

C'est donc un probl�me pour XeTeX car le guillemet est
ins�r� � partir d'une fonte math�matique.

Pour conserver l'espacement de babel french (\FBguill@spacing)
il faut mieux red�finir \guillemotleft/right, amha.

Cdt.


>
> \documentclass[12pt, french]{article}
>
> \usepackage{csquotes}
> \usepackage{babel}
> \usepackage{xunicode}
> \usepackage{fontspec}
> \usepackage{xltxtra}
>
> \setromanfont[Mapping=tex-text]{Linux Libertine O}
>

> \renewcommand{\og}{�~}
> \renewcommand{\fg}{~�\xspace}
>
> \begin{document}
> \og � � \fg
> \end{document}
>
> � bient�t.
>
> Yoann

Pétiard François

unread,
Jan 22, 2011, 7:15:54 AM1/22/11
to
Le 22/01/2011 10:49, GL a écrit :

> Le 22/01/2011 06:56, Yoann LE BARS a écrit :
>>
>> Salut à tous !
>>
>> Je me suis raté dans le copié-coller, une ligne a sauté, voici la
>> bonne version de l’exemple :

> ^^^^^
>
> Regarder la doc de babel, page 143:
> \og et \fg (*o*uvrez / *f*ermer les *g*guillemets)
> sont définies à partir de

> \guillemotleft et \guillemotright
>
> \guillemotleft: \hbox{$\scripscripstyle\ll$}

Heu, non, je ne crois pas...

\show\guillemotleft -> \?-cmd \guillemotleft \?\guillemotleft

Il y a un problème d'encodage dû à xunicode

Si on commente \usepackage{xunicode}, ça marche.

Autrement, les redéfinitions :

\renewcommand{\og}{«~}
\renewcommand{\fg}{~»\xspace}


marche aussi à condition de les mettre *après* \begin{document}

François


--
[*] Enfin la nature, soit la centrale nucléaire d'à côté de la maison,
soit les extraits de TeXbook tombés par hasard dans mon biberon quand
j'étais petit... On ne sait pas bien en fait.
-+- Joss in fr.comp.text.tex -+-

GL

unread,
Jan 22, 2011, 8:05:42 AM1/22/11
to
Le 22/01/2011 13:15, Pétiard François a écrit :
> Le 22/01/2011 10:49, GL a écrit :
>> Le 22/01/2011 06:56, Yoann LE BARS a écrit :
>>>
>>> Salut à tous !
>>>
>>> Je me suis raté dans le copié-coller, une ligne a sauté, voici la
>>> bonne version de l’exemple :
>> ^^^^^
>>
>> Regarder la doc de babel, page 143:
>> \og et \fg (*o*uvrez / *f*ermer les *g*guillemets)
>> sont définies à partir de
>> \guillemotleft et \guillemotright
>>
>> \guillemotleft: \hbox{$\scripscripstyle\ll$}
>
> Heu, non, je ne crois pas...
>
> \show\guillemotleft -> \?-cmd \guillemotleft \?\guillemotleft

Oui, il faut aller un peu plus loin. Quand on me dit que \loggingall
ne sert à rien...


\expandafter\meaning\csname OT1\string\guillemotleft\endcsname


> \OT1\guillemotleft=\long macro:
->\ifmmode \ll \else \save@sf@q {\nobreak \raise .2ex\hbox
{$\scriptscriptstyle
\ll $}\allowhyphens }\fi .
<recently read> \OT1\guillemotleft

GL

unread,
Jan 22, 2011, 8:09:26 AM1/22/11
to
Le 22/01/2011 14:05, GL a écrit :
> Le 22/01/2011 13:15, Pétiard François a écrit :
>> Le 22/01/2011 10:49, GL a écrit :
>
>
> \expandafter\meaning\csname OT1\string\guillemotleft\endcsname
>
>
> > \OT1\guillemotleft=\long macro:
> ->\ifmmode \ll \else \save@sf@q {\nobreak \raise .2ex\hbox
> {$\scriptscriptstyle
> \ll $}\allowhyphens }\fi .
> <recently read> \OT1\guillemotleft

Ce qui fait que ce n'est pas si simple de redéfinir \guillemotleft...

Ca m'apprendra à répondre à des posts sur XeTeX !

Julien Salort

unread,
Jan 22, 2011, 9:58:43 AM1/22/11
to
Salut,

Personnallement, j'utilise le paquet csquotes. J'espère que ça met les
bons espaces:

\documentclass{book}
\usepackage{fontspec}
\usepackage{xltxtra}
\usepackage{xunicode}
\usepackage{polyglossia}
\usepackage{csquotes}

\defaultfontfeatures{Scale=MatchLowercase}
\setromanfont[Mapping=tex-text, SmallCapsFont={Linux Libertine O C}]{Linux Libertine O}
\setsansfont[Mapping=tex-text]{Linux Biolinum O}
\setmonofont[Mapping=tex-text]{TeX Gyre Cursor}

\setdefaultlanguage{french}

\begin{document}

\enquote{truc}

\end{document}

--
R: Parce que ça renverse bêtement l'ordre naturel de lecture !
Q: Mais pourquoi citer en fin d'article est-il si effroyable ?
R: Citer en fin d'article.
Q: Quelle est la chose la plus désagréable sur les groupes de news ?

Yoann LE BARS

unread,
Jan 23, 2011, 4:13:38 AM1/23/11
to

Salut à tous !

On 22 jan, 06:15, Pétiard François


<petiard.point.francois@_at_free.point.fr> wrote:
> Il y a un problème d'encodage dû à xunicode
>
> Si on commente \usepackage{xunicode}, ça marche.

En effet, sans utiliser le paquet Xunicode, le comportement est le
bon. Comme par ailleurs je n’ai pour l’instant pas vu d’effet non
désiré, c’est la solution pour laquelle j’opte. En revanche, je pense
que le problème vient bien du paquet Xunicode et non pas d’Unicode,
car je n’ai pas changé l’encodage (en Unicode donc) de mes fichiers
sources.

> Autrement, les redéfinitions :
>
> \renewcommand{\og}{«~}
> \renewcommand{\fg}{~»\xspace}
>
> marche aussi à condition de les mettre *après* \begin{document}

Dans mes essais, ça ne fonctionne que pour la première utilisation
de la commande.

À bientôt.

Yoann

Yoann LE BARS

unread,
Jan 23, 2011, 4:20:57 AM1/23/11
to

Salut à tous !

On 22 jan, 08:58, Julien Salort <li...@juliensalort.org> wrote:
> Personnallement, j'utilise  le paquet csquotes. J'espère que  ça met les
> bons espaces:

Je pense que les espaces sont les bons, mais de toute façon cela ne
convient pas avec des dialogues un peu complexe.

En passant :

> \setromanfont[Mapping=tex-text, SmallCapsFont={Linux Libertine O C}]{Linux Libertine O}

Je ne pense pas qu’il soit nécessaire de préciser «
SmallCapsFont={Linux Libertine O C} ». En tout cas, dans mes essais,
avec où sans, je n’ai pas vu de différence. Je crois que sans apporter
la précision, c’est bien la version de la police de petites majuscules
qui est utilisée le cas échéant.

À bientôt.

Yoann

Pétiard François

unread,
Jan 23, 2011, 4:23:59 AM1/23/11
to

Très surprenant !

Vous pouvez fournir un exemple ?

François


--
On peut faire la même chose en Postscript avec '??tricks' (le machin
que JCC aime bien ;-)).
-+- Paul in fr.comp.text.tex -+-

Denis Bitouzé

unread,
Jan 23, 2011, 4:31:15 AM1/23/11
to
Le dimanche 23/01/11 à 01h20,
Yoann LE BARS <le.farfad...@free.fr> a écrit :

> Je pense que les espaces sont les bons, mais de toute façon cela ne
> convient pas avec des dialogues un peu complexe.

csquotes n'est pas conçu pour des dialogues, mais pour des citations.
Pour des dialogues, peut-être les packages dialogue et dramatist
seraient-ils plus adaptés.
--
Denis

Daniel Flipo

unread,
Jan 23, 2011, 8:28:31 AM1/23/11
to
Yoann LE BARS a �crit le 22/01/2011 06:53 :

> Les commandes � \og � et � \fg � permettent de r�aliser des
> guillemets ouvrants et fermants fran�ais en appliquant les r�gles en
> usage � l�Imprimerie nationale � si je ne me trompe pas, espace
> justifiante ins�cable apr�s le guillemet ouvrant, espace justifiante
> ins�cable avant le guillemet fermant et l�espace qui convient apr�s.


> Cependant, en utilisant XeLaTeX, je me suis rendu compte que ces

> commandes n�utilisent pas les caract�res guillemets de la police de
> caract�re, ce qui est un peu disgracieux � compiler l�exemple en fin


> de ce message pour voir un exemple avec Linux Libertine.

Bonjour,

Pardon de r�pondre un peu tard, je viens de voir ce fil.

Si \og et \fg n�utilisent pas les guillemets de la police courante c'est
un bug, il faut me le faire savoir !

Quelle version de frenchb utilisez-vous ?

Avec la version actuelle (2.5d), en ligne sur mes pages web mais h�las
toujours pas int�gr�e � babel, je ne reproduis pas votre probl�me.

Je compile ceci (j'ai supprim� \usepackage{xunicode} charg� par fontspec
et \usepackage{xltxtra} qui n'est plus recommand� sauf pour tester les
c�sures), j'ai �galement ajout� \showoutput pour voir dans le log ce qui
est affich� :

\documentclass[12pt, french]{article}

\usepackage{csquotes}
\usepackage{babel}
%\usepackage{xunicode}
\usepackage{fontspec}
%\usepackage{xltxtra}

\setromanfont[Mapping=tex-text]{Linux Libertine O}

%\renewcommand{\og}{�~}
%\renewcommand{\fg}{~�\xspace}

\begin{document}
\showoutput

\og � � \fg
\end{document}

Chez moi les 2 guil. ouvrants sont identiques, les deux fermants aussi,
\showoutput dit qu'ils sont bien pris dans la police Linux Libertine.

Deux remarques :

1) les espaces ins�cables ajout�es automatiquement par \og et \fg sont
diff�rents des espaces produits par '~' (voir la commande
\FBguill@spacing). Donc si vous faites \renewcommand{\og}{�~} vous
changez les espaces...

2) Avec XeLaTeX et frenchb 2.5 il n'est m�me pas n�cessaire d'ajouter
\frenchbsetup{og=�, fg=�}
pour pouvoir coder au choix �guillemets� ou � guillemets � dans le
source, les espaces produits en sortie seront bien les ins�cables ad hoc
(ceux de \FBguill@spacing). J'ajoute que ni les guillemets ni la
ponctuation haute n'est active sous XeTeX depuis frenchb 2.5.

--
Daniel Flipo.

Manuel Pégourié-Gonnard

unread,
Jan 23, 2011, 1:33:03 PM1/23/11
to
Yoann LE BARS scripsit :

> Cependant, en utilisant XeLaTeX, je me suis rendu compte que ces
> commandes n’utilisent pas les caractères guillemets de la police de
> caractère, ce qui est un peu disgracieux – compiler l’exemple en fin
> de ce message pour voir un exemple avec Linux Libertine.
>

Daniel a déjà répondu à ça, et de la façon la plus agréalbe qui soit :
ça marche avec la dernière version de frenchb. J'ajoute, parce qu'il est
trop modeste pour le clamer lui-même, que ça marche aussi sous LuaLaTeX
(merci Daniel pour ta réactivité).

> Je me demande donc comment corriger ce comportement. J’ai fait un
> essai avec les commandes suivantes :
>
> \renewcommand\og{«~}
> \renewcommand\fg{~»\xspace}
>
> Cela dit, je ne pense pas que l’espace insécable produite par « ~ »
> soit justifiante. De toute façon, ces commandes n’ont aucun effet, les
> comportements de « \og » et de « \fg » restent inchangés.
>

J'aimerais quand même répondre sur ce point : ce n'est pas comme ça
qu'on change des commandes liées à la langue. On fait

\addto\extrasfrench{%
\renewcommand\og{«~}%
\renewcommand\fg{~»\xspace}%
}

En effet, ces commandes changent de définition à chaque fois que le
français devient (ou cesse d'être) la langue courante. On a donc des
soucis si on essaie de les définir indépendament de la langue courante.
En particulier, le français devient la langue courante au moment du
\begin{document}, ce qui explique que la redéfinition naïve n'a pas
d'effet dans le préambule.


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


Manuel Pégourié-Gonnard

unread,
Jan 23, 2011, 1:39:26 PM1/23/11
to
Yoann LE BARS scripsit :

> On 22 jan, 06:15, Pétiard François
> <petiard.point.francois@_at_free.point.fr> wrote:
>> Si on commente \usepackage{xunicode}, ça marche.
>
Non, ça résoud ce problème en en créant d'autres :-) Par exemple, \today
fera des caractères accentués tout crades, c'est-à-dire même pas pris
dans la fonte courante.

> En effet, sans utiliser le paquet Xunicode, le comportement est le
> bon. Comme par ailleurs je n’ai pour l’instant pas vu d’effet non
> désiré, c’est la solution pour laquelle j’opte. En revanche, je pense
> que le problème vient bien du paquet Xunicode et non pas d’Unicode,
> car je n’ai pas changé l’encodage (en Unicode donc) de mes fichiers
> sources.
>

Mon conseil : toujours utiliser xunicode. Si (une commande d')un paquet
n'est pas compatible avec xunicode, c'est un bug du paquet en question,
qu'il convient de signaler. (On peut enlever xunicode en attendant que
le bug soit corrigé, mais ce n'est pas une solution définitive.)

Yoann LE BARS

unread,
Jan 23, 2011, 8:46:14 PM1/23/11
to

Salut à tous !

On 23 jan, 03:23, Pétiard François


<petiard.point.francois@_at_free.point.fr> wrote:
> Vous pouvez fournir un exemple ?

Tiens, non : je n’arrive pas à reproduire le problème. J’ai donc
fait une autre erreur au moment des tests, mais je ne sais pas quoi.

À bientôt.

Yoann

Yoann LE BARS

unread,
Jan 23, 2011, 8:53:39 PM1/23/11
to

Salut à tous !

On 23 jan, 03:31, Denis Bitouzé <dbitouze...@spam.wanadoo.fr> wrote:
> csquotes n'est pas conçu pour des dialogues, mais pour des citations.

Tout à fait, c’est d’ailleurs la raison pour laquelle je n’ai
jamais eu l’idée de l’utiliser pour des dialogues. C’était juste en
réponse à la suggestion.

> Pour des dialogues, peut-être les packages dialogue et dramatist
> seraient-ils plus adaptés.

Je ne connaissais pas, merci. Cela dit, c’est spécialisé dans le
théâtre.

À bientôt.


Yoann

Yoann LE BARS

unread,
Jan 23, 2011, 9:00:57 PM1/23/11
to

Bonjour.

On 23 jan, 07:28, Daniel Flipo <d...@nowhere.com> wrote:
> Si \og et \fg n utilisent pas les guillemets de la police courante c'est


> un bug, il faut me le faire savoir !
>
> Quelle version de frenchb utilisez-vous ?

Malheureusement, en ce moment j’utilise TeXLive 2009 – j’ai un
petit problème informatique en cours de résolution, mais qui va encore
me demander sans doute une ou deux semaines.

> \usepackage{xltxtra} qui n'est plus recommand sauf pour tester les
> c sures)

Dans mes tests, si je supprime ce paquet, alors le problème avec
les guillemets réapparait.

> 1) les espaces ins cables ajout es automatiquement par \og et \fg sont
> diff rents des espaces produits par '~' (voir la commande
> \FBguill@spacing). Donc si vous faites \renewcommand{\og}{ ~} vous
> changez les espaces...

C’est bien ce que je craignais.

À bientôt.


Yoann

Yoann LE BARS

unread,
Jan 23, 2011, 9:03:31 PM1/23/11
to

Salut à tous !

On 23 jan, 12:33, Manuel Pégourié-Gonnard <m...@elzevir.fr> wrote:
> J'aimerais quand même répondre sur ce point : ce n'est pas comme ça
> qu'on change des commandes liées à la langue.

C’était juste un test, d’autant que je ne connaissais pas la
méthode la plus propre. D’ailleurs, merci de l’avoir donnée.

À bientôt.


Yoann

Yoann LE BARS

unread,
Jan 24, 2011, 2:53:19 PM1/24/11
to

Salut à tous !

On 23 jan, 20:00, Yoann LE BARS <le.farfadet.spat...@free.fr> wrote:
> On 23 jan, 07:28, Daniel Flipo <d...@nowhere.com> wrote:
> > Quelle version de frenchb utilisez-vous ?
>
>    Malheureusement, en ce moment j’utilise TeXLive 2009 – j’ai un
> petit problème informatique en cours de résolution, mais qui va encore
> me demander sans doute une ou deux semaines.

Bien, j’ai pu tester avec TeXLive 2010 et un MacTeX à jour – donc,
si je ne m’abuse, basé sur TeXLive 2010 –, le comportement est le
même.

J’ai une solution temporaire, je vais l’utiliser jusqu’à l’arrivée
de TeXLive 2011, en espérant que d’ici là la solution temporaire ne
soit pas la cause d’autres problèmes.

À bientôt.

Yoann

Pétiard François

unread,
Jan 24, 2011, 3:11:20 PM1/24/11
to

Voilà une solution avec les espacements corrects *et* le paquet xunicode

François

\documentclass[12pt]{article}
\usepackage{csquotes}
\usepackage[french]{babel}
\usepackage{xunicode}
\usepackage{fontspec}
\usepackage{xltxtra}

\setromanfont[Mapping=tex-text]{Linux Libertine O}

\makeatletter
\addto\captionsfrench{%
\renewcommand{\og}{%
\leavevmode\char "00AB\FBguill@spacing}
\renewcommand{\fg}{%
\ifdim\lastskip>\z@\unskip\fi\FBguill@spacing\char "00BB\xspace}}
\makeatother
\begin{document}


\og« »\fg

\og bla bla\fg

\end{document}

--
Bon, on est clairement dans un cas où il faut que l'utilisateur
mouille sa chemise. Je verrais plutôt un truc très « à la mano »,
comme :
-+- Jean-Côme in fr.comp.text.tex -+-

Daniel Flipo

unread,
Jan 24, 2011, 3:28:42 PM1/24/11
to
Yoann LE BARS a �crit le 24/01/2011 20:53 :

> On 23 jan, 20:00, Yoann LE BARS<le.farfadet.spat...@free.fr> wrote:
>> On 23 jan, 07:28, Daniel Flipo<d...@nowhere.com> wrote:
>>> Quelle version de frenchb utilisez-vous ?
>>

>> Malheureusement, en ce moment j�utilise TeXLive 2009 � j�ai un
>> petit probl�me informatique en cours de r�solution, mais qui va encore


>> me demander sans doute une ou deux semaines.
>

> Bien, j�ai pu tester avec TeXLive 2010 et un MacTeX � jour � donc,
> si je ne m�abuse, bas� sur TeXLive 2010 �, le comportement est le
> m�me.

Bonsoir,

Pour info, la version de babel et de frenchb est la m�me sur TL2009 et
TL2010, j'en d�duis que vous utilisez frenchb.ldf v2.3d du 2009/03/16.

Je viens de (re)tester avec le fichier suivant :
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\documentclass[12pt, french]{article}
\usepackage{csquotes}
\usepackage{babel}

\usepackage{fontspec}


\setromanfont[Mapping=tex-text]{Linux Libertine O}

\listfiles
\begin{document}
\showoutput

\og � � \fg
\end{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
sur une TeXLive2010 � jour et non modifi�e, avec donc
babel.sty 2008/07/06 v3.8l The Babel package
frenchb.ldf 2009/03/16 v2.3d French support from the babel system
(cf la commande \listfiles), je ne reproduis toujours pas le probl�me,
je lis dans le .log ceci :

....\hbox(0.0+0.0)x17.62482
....\EU1/LinuxLibertineO(0)/m/n/12 �
....\penalty 10000
....\glue 2.40001 plus 0.45 minus 0.8
....\EU1/LinuxLibertineO(0)/m/n/12 �
....\glue 3.0 plus 1.5 minus 1.0
....\EU1/LinuxLibertineO(0)/m/n/12 �
....\penalty 10000
....\glue 2.40001 plus 0.45 minus 0.8
....\EU1/LinuxLibertineO(0)/m/n/12 �

ce qui confirme que *tous* les guillemets sont bien pris dans la police
LinuxLibertineO.

> J�ai une solution temporaire, je vais l�utiliser jusqu�� l�arriv�e
> de TeXLive 2011, en esp�rant que d�ici l� la solution temporaire ne
> soit pas la cause d�autres probl�mes.

Il vaudrait mieux voir ce qui cloche, car rien ne dit que babel sortira
de son hibernage prolong� en 2011 :-( ... et en plus c'est apparemment
un patch pour un faux probl�me !

N'y a-t-il pas un frenchb.cfg ou un autre fichier (csquotes.cfg ?) qui
contient des red�finitions pour les guillemets ? Le fichier test
ci-dessus devrait vous fournir des pistes.

Il n'y a aucune raison pour que frenchb aille chercher ses guillemets
ailleurs que dans la fonte courante, sauf bien s�r si celle-ci (CM par
exemple) ne contient pas de guillemets chevrons. Ce n'est pas le cas de
LinuxLibertine, ni de Latin Modern, ...

--
Daniel Flipo.

Manuel Pégourié-Gonnard

unread,
Jan 24, 2011, 6:58:09 PM1/24/11
to
Daniel Flipo scripsit :

> Pour info, la version de babel et de frenchb est la même sur TL2009 et
> TL2010, j'en déduis que vous utilisez frenchb.ldf v2.3d du 2009/03/16.


>
> Je viens de (re)tester avec le fichier suivant :
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> \documentclass[12pt, french]{article}
> \usepackage{csquotes}
> \usepackage{babel}
> \usepackage{fontspec}
> \setromanfont[Mapping=tex-text]{Linux Libertine O}
>
> \listfiles
> \begin{document}
> \showoutput
>

> \og « » \fg
> \end{document}
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> sur une TeXLive2010 à jour et non modifiée, avec donc


> babel.sty 2008/07/06 v3.8l The Babel package
> frenchb.ldf 2009/03/16 v2.3d French support from the babel system

> (cf la commande \listfiles), je ne reproduis toujours pas le problème,

Du coup j'ai fait quelques tests. Avec ton fichier, ça marche aussi chez
moi sur une TeX Live à jour, mais pas sur une TeX Live 2010 version DVD.
Avec celui de Yoann, ça foire sur les deux (DVD et à jour). Par contre,
ça se met à marcher sur les deux dès qu'on inverse l'ordre de chargement
de fontspec et de xunicode, c'est-à-dire qu'on charge xunicode /après/
fontspec.

> Il n'y a aucune raison pour que frenchb aille chercher ses guillemets

> ailleurs que dans la fonte courante, sauf bien sûr si celle-ci (CM par

> exemple) ne contient pas de guillemets chevrons. Ce n'est pas le cas de
> LinuxLibertine, ni de Latin Modern, ...
>

Je n'ai pas pris le temps d'analyser le problème en détails, mais si
xunicode n'est pas chargé correctement (ici, avant et non après
fontspec), l'encodage EU1 (ou EU2 dans le cas de xelatex) n'est pas
défini correctement, c'est sans doute ce qui donne l'impression que les
guillemets chevrons ne sont pas dispos dans la fonte courante et
explique le problème.

Pour rappel (parce que de mon côté j'ai mis longtemps à comprendre ça),
fontspec /déclare/ un encodage EU1 (ou EU2) mais il est « vide » dans le
sens où aucune commande spécifique n'est définie pour cet encodage.
Quand on charge xunicode en ayant /préalablement/ défini \UTFencname
comme étant, par exemple, EU1, cela « remplit » l'encodage en question,
c'est-à-dire que ça défini les macros spécifiques.

Morale : toujours charger xunicode après fontspec ou mieux encore,
utiliser une version récente de fontspec, qui chargera xunicode
correctement.

Jean-Jacques Rétorré

unread,
Jan 25, 2011, 2:31:42 AM1/25/11
to
Manuel Pégourié-Gonnard <m...@elzevir.fr> disait le 01/23/11 que :

>
> Non, ça résoud ce problème en en créant d'autres :-)

Un problème d'orthographe, par exemple.


debjjr@zoe:~$ french-conjugator résoudre|grep -a3 'indicative present'
- infinitive present:
résoudre
- indicative present:
résous
résous
résout

--
JJR.

Lucas Levrel

unread,
Jan 25, 2011, 9:14:13 AM1/25/11
to
Le 21 janvier 2011, Yoann LE BARS a écrit :
> Cela dit, je ne pense pas que l’espace insécable produite par « ~ »
> soit justifiante.

C'était un peu accessoire dans le problème, mais je crois que personne n'a
commenté.

~ introduit \ (backslash-blanc), qui introduit une espace normale. Donc
ça devrait bien être une espace insécable justifiante.

Bizarrement, je n'ai jamais entendu parler d'insécable justifiante en typo
française ; peut-être une ancienne limitation technique ? Je ne vois pas
de raison logique ou esthétique pour qu'une espace-mots insécable ne soit
pas justifiante...

--
LL

Manuel Pégourié-Gonnard

unread,
Jan 25, 2011, 10:26:39 AM1/25/11
to
Jean-Jacques Rétorré scripsit :

Par exemple, en effet :-) J'aurais au moins appris deux choses aujourd'hui :
que je conjuque habituellement mal le verbe résoudre, et l'existence de
french-conjugator. Merci.

Yoann LE BARS

unread,
Jan 25, 2011, 3:59:03 PM1/25/11
to

Salut à tous !

On 24 jan, 17:58, Manuel Pégourié-Gonnard <m...@elzevir.fr> wrote:
> Morale : toujours charger xunicode après fontspec ou mieux encore,
> utiliser une version récente de fontspec, qui chargera xunicode
> correctement.

Merci de toutes les précisions. Je pense avoir une solution
définitive à mon problème, mais j’ai besoin de quelques précisions :

– Sauf erreur de ma part, Mathspec charge Fontspec, est-ce
exacte ?

– Est-ce que la version de Fontspec de TeXLive 2009 charge
Xunicode ? Même question pour TeXLive 2010.

À bientôt.

Yoann

Lucas Levrel

unread,
Jan 26, 2011, 6:12:38 AM1/26/11
to
Le 25 janvier 2011, Yoann LE BARS a écrit :

> – Sauf erreur de ma part, Mathspec charge Fontspec, est-ce
> exacte ?

> kpsewhich mathspec.sty
/usr/local/texlive/2010/texmf-dist/tex/xelatex/mathspec/mathspec.sty
> grep fontspec $(kpsewhich mathspec.sty)
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{fontspec}}
%% fontspec, xkeyval, mathstyle, etoolbox and maybe MnSymbol
\RequirePackage[\eu@zf@math]{fontspec}[2008/08/09]
(couic)

Apparemment oui.

> – Est-ce que la version de Fontspec de TeXLive 2009 charge
> Xunicode ? Même question pour TeXLive 2010.

TL 2010 :

> kpsewhich fontspec.sty
/usr/local/texlive/2010/texmf-dist/tex/latex/fontspec/fontspec.sty
> grep xunicode $(kpsewhich fontspec.sty)
\tl_set_eq:NN \UTFencname \zf@enc % for xunicode
\RequirePackage{xunicode}
\RequirePackage{xunicode}

Apparemment oui.

Tu peux aussi regarder la sortie lors de la compilation. Tu verras quelque
chose comme :
(/usr/local/texlive/2010/texmf-dist/tex/xelatex/mathspec/mathspec.sty
...
(/usr/local/texlive/2010/texmf-dist/tex/latex/fontspec/fontspec.sty
...
(/usr/local/texlive/2010/texmf-dist/tex/xelatex/xunicode/xunicode.sty)
...
)
...
)

--
LL

Manuel Pégourié-Gonnard

unread,
Jan 26, 2011, 10:17:06 AM1/26/11
to
Lucas Levrel scripsit :

> TL 2010 :
>
Pour être précis, TL 2010 à jour.

>> kpsewhich fontspec.sty
> /usr/local/texlive/2010/texmf-dist/tex/latex/fontspec/fontspec.sty
>> grep xunicode $(kpsewhich fontspec.sty)
> \tl_set_eq:NN \UTFencname \zf@enc % for xunicode
> \RequirePackage{xunicode}
> \RequirePackage{xunicode}
>
> Apparemment oui.
>

Par contre, sous TL 2010 version DVD (donc a priori celle qui sera dans
les distros) :

% grep xunicode $(kpsewhich fontspec.sty)


\tl_set_eq:NN \UTFencname \zf@enc % for xunicode

C'est-à-dire que, comme je l'expliquais, xunicode fera ce qu'il faut
(finir de définir l'encodage EU1 ou EU2) s'il est chargé après fontspec.

> Tu peux aussi regarder la sortie lors de la compilation. Tu verras quelque
> chose comme :
> (/usr/local/texlive/2010/texmf-dist/tex/xelatex/mathspec/mathspec.sty
> ...
> (/usr/local/texlive/2010/texmf-dist/tex/latex/fontspec/fontspec.sty
> ...
> (/usr/local/texlive/2010/texmf-dist/tex/xelatex/xunicode/xunicode.sty)
> ...
> )
> ...
> )
>

Voilà, ou utiliser la commande \listfiles pour avoir un joli tableau à
la fin.

Yoann LE BARS

unread,
Jan 26, 2011, 12:39:47 PM1/26/11
to

Salut à tous !

On 26 jan, 09:17, Manuel Pégourié-Gonnard <m...@elzevir.fr> wrote:
> C'est-à-dire que, comme je l'expliquais, xunicode fera ce qu'il faut
> (finir de définir l'encodage EU1 ou EU2) s'il est chargé après fontspec.

Donc, la solution que j’adopte est celle-ci : tout simplement
charger Xunicode après Fontspec ou Mathspec. J’ai testé et tout se
passe comme je le souhaite.

À bientôt.


Yoann

Pétiard François

unread,
Jan 26, 2011, 12:41:39 PM1/26/11
to

En fait, ce n'est pas la peine, puisque fontspec charge xunicode.

François

--
Ttttût. C'est pas parce que je ne poste pas, que je ne traque pas tes
petits mensonges que tu essaies de glisser insidieusement. As-tu essayé
(avec Plain, tu vois que je sais te caresser dans le sens des poils du
menton - ça dépend aussi de si tu as laissé repousser ou pas - ;-)
-+- Joss in fr.comp.text.tex -+-

Manuel Pégourié-Gonnard

unread,
Jan 26, 2011, 2:03:02 PM1/26/11
to
P�tiard Fran�ois scripsit :

> En fait, ce n'est pas la peine, puisque fontspec charge xunicode.
>

Si fontenc est assez r�cent, oui. Sinon (par exemple si c'est le fontenc
de TL 2010 version DVD), c'est la peine. Dans tous les cas, �a ne peut
pas faire de mal, car un paquet d�j� charg� ne sera pas recharg�.

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

0 new messages