| 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