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