Le package multicol

Ce package est connu, je ne veux pas en expliquer l'usage ici.

J'y ai trouvé un bug durant mes travaux sur le JMPL. Et j'ai trouvé un correctif pour ce petit bug. Il me reste à le proposer à l'auteur du package (FMi).

Le principe est simple: multicol bidouille un peu les footnote pour leur permettre de fonctionner. Or il se trouve que si on imbrique deux environnement multicols, la bidouille est faite deux fois, ce qui n'est pas bon: les footnotes arrêtent de marcher.

Le correctif est tout simplement de protéger tout cela par une condition: si la bidouille n'est pas active, la faire.

Conformément à la LPPL, je ne diffuse pas une version modifiée du package, mais simplement du patch "kivabien".

@@ -129,6 +129,9 @@
 \DeclareOption{debugshow}
     {\c@tracingmulticols5\relax}
 \ProcessOptions
+\long\def\mult@footnotetext#1{\begingroup
+  \columnwidth\textwidth\orig@footnotetext{#1}\endgroup}
+  
 \def\multicols#1{\col@number#1\relax
   \ifnum\col@number<\tw@
      \PackageWarning{multicol}%
@@ -144,10 +147,10 @@
        \MessageBreak
        I therefore use 10 columns instead}%
      \col@number10 \fi
-     \let\orig@footnotetext\@footnotetext
-     \long\def\@footnotetext##1{\begingroup
-         \columnwidth\textwidth
-         \orig@footnotetext{##1}\endgroup}%
+     \ifx\@footnotetext\mult@footnotetext\else
+       \let\orig@footnotetext\@footnotetext
+       \let\@footnotetext\mult@footnotetext
+     \fi
   \@ifnextchar[\mult@cols{\mult@cols[]}}
 \def\mult@cols[#1]{\@ifnextchar[%
   {\mult@@cols{#1}}%

Le but a été rapporté à l'équipe de maintenance de LaTeX, il est connu sous la référence tools/3618. Il aurait été corrigé dans la prochaine version du package (à vérifier sous peu).