%% efrench-fix.sty -- compatibilite e-french (V6,11, 2019) / noyau LaTeX >= 2026-06-01
%% A charger APRES \usepackage{french}.
%%
%% Probleme : pour composer l'appel de note francais (« 1. texte ») en bas de
%% page, e-french (\fr@makefntext) redefinit localement \@thefnmark en une
%% macro qui commence par \egroup\egroup pour « sortir » des deux groupes de
%% \hbox{\@textsuperscript{...\@thefnmark}}. Ce bricolage suppose a la fois
%% une structure precise de \@textsuperscript et que \@thefnmark ne serve
%% nulle part ailleurs ; le nouveau code des notes du noyau casse les deux.
%%
%% Correctif : on laisse \@thefnmark intact (il contient simplement le numero)
%% et on redefinit localement \@makefnmark, qui compose directement la meme
%% marque que l'ancien code (memes crenages, meme point, meme elevation pour
%% \fnsymbol). Aucun fichier d'e-french n'est modifie.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{efrench-fix}[2026/10/14 v1.0 e-french footnotes vs LaTeX 2026-06]
\@ifpackageloaded{french}{}{%
  \PackageError{efrench-fix}{Charger efrench-fix apres french}{}}

% Marque francaise en bas de page : « 1. » en romain, taille du texte de note
\def\efx@frmark{%
  \long\def\@tempa{\fnsymbol{footnote}}%
  \ifx\@tempa\thefootnote\expandafter\raise+0.55ex\fi
  \hbox{\textnormal{%
    \ifx\fr@RIfM@cls\undefined
      \ifx\thanks\relax\else\kern-1.1\parindent\fi
    \else\kern-\parindent
    \fi
    \def\@temp@{\@ifnextchar\relax
                  {\def\@temp@{\hphantom{.}\kern+0.25em}}%
                  {\def\@temp@{.\kern+0.25em}}}%
    \expandafter\@temp@\@thefnmark\@temp@}}}

\long\def\efx@makefntext#1{%
  \bgroup
  \ifFTY
    \def\@tempa{footnote}%
    \ifx\@tempa\@mpfn
      \def\@makefnmark{\hbox{\efx@frmark}}%
      \leavevmode\kern+0.5em
    \else % notes de minipage : appel en exposant suivi d'une espace fine
      \def\@makefnmark{\hbox{\@textsuperscript{\normalfont
          \ifx\thefootnote\relax\else\,\fi\@thefnmark\,}}}%
    \fi
  \fi
  \@mfntORI{#1}\egroup}

% e-french installe ses definitions a la fin de \begin{document} (apres les
% crochets AtBeginDocument), d'ou l'enveloppe autour de \document.
\def\efx@install{%
  \ifx\fr@makefntext\@undefined\else
    \let\fr@makefntext\efx@makefntext
    \let\@makefntext\fr@makefntext
  \fi}
\let\efx@document\document
\def\document{\efx@document\efx@install\ignorespaces}
\endinput
