Deutsch   English   Français   Italiano  
<6331a9eb$0$5149$426a34cc@news.free.fr>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!cleanfeed1-b.proxad.net!nnrp1-1.free.fr!not-for-mail
Date: Mon, 26 Sep 2022 15:32:27 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: =?UTF-8?Q?Re=3a_cleveref_=26_babel_=7c_babel-french_ne_font_pas_bon?=
 =?UTF-8?Q?_m=c3=a9nage?=
Content-Language: fr
Newsgroups: fr.comp.text.tex
References: <m2sfkzjdx6.fsf@pc40.home>
 <631f37b5$0$25944$426a34cc@news.free.fr> <m28rm8n029.fsf@pc40.home>
 <m2fsgf17no.fsf@pc40.home>
From: Daniel Flipo <dflipo@nowhere.com>
In-Reply-To: <m2fsgf17no.fsf@pc40.home>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 68
Message-ID: <6331a9eb$0$5149$426a34cc@news.free.fr>
Organization: Guest of ProXad - France
NNTP-Posting-Date: 26 Sep 2022 15:32:27 CEST
NNTP-Posting-Host: 91.175.5.155
X-Trace: 1664199147 news-4.free.fr 5149 91.175.5.155:50280
X-Complaints-To: abuse@proxad.net
Bytes: 3552

Le 25/09/2022 à 23:11, Vincent Belaïche a écrit :

> J'ai regardé un peu le code de cleveref.sty et celui de french.ldf, et
> le fond du problème c'est que tout deux surchargent \@makefntext.
> 
> Comme cleveref.sty le fait à son chargement, alors que french.ldf le
> fait dans un \AtBeginDocument, french.ldf fait la surcharge en second et
> cleveref en premier, alors qu'il faudrait que ce soit dans l'autre sens
> pour que ça marche (ou bien il faudrait que french.ldf n'efface pas
> certaines données de contexte). Donc un contournement simple pour que
> tout ça fonctionne ensemble est de mettre les surcharges dans l'ordre
> inverse, comme ceci :
> 
> --------8<-----------8<-----------8<-----------8<-----------8<-------
> \documentclass[french]{article}
> \usepackage[latin9]{inputenc}
> \usepackage[T1]{fontenc}
> \usepackage{cleveref}
> \usepackage{babel}
> \crefformat{footnote}{#2\footnotemark[#1]#3}
> \begin{document}
> \makeatletter
> \begingroup
> % original
> \let\@tempa\cref@old@makefntext
> % babel
> \let\@tempb\@makefntext
> % cleveref
> \let\@tempc\@makefntextORI
> % inverse l'ordre de surcharge
> \global\let\@makefntext\@tempc
> \global\let\cref@old@makefntext\@tempb
> \global\let\@makefntextORI\@tempa
> \endgroup
> \makeatother
> Une note\footnote{\label{fn/xxx}Le texte de la note.}.
> 
> Et avec la même marque d'appel\cref{fn/xxx}.
> \end{document}
> 
> --------8<-----------8<-----------8<-----------8<-----------8<-------
> 
> Bon, ce n'est pas très satisfaisant. Il vaudrait mieux que french.ldf
> n'écrase pas le contexte.

Yaka…

Jean-Yves Baudais a déjà indiqué un moyen simple d'empêcher french.ldf 
de toucher au formatage des notes de bas-de-page :
\frenchsetup{FrenchFootnotes=false}

On ne peut pas demander à french.ldf /à la fois/ de modifier la 
présentation de ces notes et /en même temps/ de ne pas toucher à 
\@makefntext, il faut /choisir/.

Le clash avec cleveref arrivera avec toute extension modifiant 
\@makefntex. Essayer par exemple de remplacer babel/french par 
\usepackage[symbol]{footmisc}.

L'intervention de french.ldf a lieu au \begin{document} justement afin 
de prendre en compte le contexte, en particulier si une autre extension 
a modifié les notes de bas-de-page (bigfoot par exemple).

Conclusion : aucune « amélioration » n'est à espérer du côté de 
babel-french pour résoudre ce clash.

-- 
Daniel Flipo