\documentclass{article} \begin{document} Blabla\footnote{Une première note de bas de page} Reblabla avec une\footnote{Deuxième note en bas de la page} \pagebreak Encore du blabla\footnote{Une note en bas d' une autre page} %Ici une «liste de notes de bas de page» \end{document} Je suppose que ça correspond au cumul des mêmes notes en bas de page et en fin de document |
|
Avec l'extension \documentclass{article} \usepackage{endnotes} \let\footnotesafe=\footnote \renewcommand{\footnote}[1]{% \footnotesafe{#1}% \refstepcounter{endnote}% \endnotetext{#1}% } \begin{document} Blabla\footnote{Une première note de bas de page} Reblabla avec une\footnote{Deuxième note en bas de la page} \newpage Encore du blabla\footnote{Une note en bas d' une autre page} %Ici une «liste de notes de bas de page» \newpage \begingroup \parindent 0pt \parskip 2ex \def\enotesize{\normalsize} \theendnotes \endgroup \end{document} Solution simple, efficace, mais j'ai oublié de préciser que, comme les listes de LaTeX, je voudrais qu'elle renvoie aussi la page où chaque «footnote» a été appelée. Probablement, j'imagine qu'il faudra générer un label (par ex. le numéro de la note) et l'utiliser dans la commande finale. Je vais explorer endnote avec cette perspective. @joseph-tux C'est facile avec l'extension Merci Samcarter. Mais avec enotez je n'ai toujours pas réussi à imprimer en même temps les notes en bas de page Différents problèmes à résoudre pour avoir en une fois: - Une note de bas de page, (que ne semble pas permettre enotez) - Une liste des notes de bas de page, (solution possible: faire conjointement 2 appels avec la même note: 1 footnote et 1 endnote) - avec un seul appel de page, (sans que soit doublé ni incrémenté l'appel de note) - affichage du n° de page correspondant dans la liste, (qui devrait être possible avec un label par commande pageref, apparemment efficace) |
|
J'ai trouvé les solutions suivantes:
ceci résoud le problème du double appel et de l'incrémentation, tout en affichant la note à la fois en bas de page et dans la liste en fin de document Un dernier problème n'est pas résolu: la liste attribue le dernier numéro de page concerné à toutes les notes. Pourtant son utilisation dans l'appel endnote semble conforme (infos de deboggage en rouge) Je met un exemple comme réponse, bien qu'elle présente ce BUG: \documentclass[french]{article} \usepackage{enotez} \usepackage{xcolor} % compteur pour \footnotetext: \newcounter{Note} \setcounter{Note}{0} % Macrocommande testée dans ce document: \newcommand{\dblnote}[1]% {\refstepcounter{Note}% % incrémenter le compteur \textcolor{red}{\up{(Note n°~\theNote,p.~\pageref{\theNote})}}% %Ligne de déboggage \endnote{#1\ \dotfill \pageref{\theNote}}% % appel de \endnote, texte suivi du N° de page [BUG] \footnotetext[\theNote]{#1}\label{\theNote}% % appel de \footnotetext sur la mark précédemment créée par \endmark } \usepackage[]{babel} \begin{document} \section{Test} Blabla\dblnote{Une première note de bas de page} Reblabla\label{2} avec une autre note\dblnote{Deuxième note en bas de la page} Page de la note \theNote : \pageref{\theNote} \newpage \section{Suite du test} Encore du blabla\dblnote{Une note en bas d' une autre page} et du blablabla Ici une «liste de notes de bas de page» La 2eme note est numérotée~\ref{2} page~\pageref{2}. La dernière note (\ref{\theNote}) est à la page~\pageref{\theNote} \newpage \printendnotes* \end{document} |
|
Voici deux solutions fonctionnelles selon la méthode qui vous convient le mieux : 1. Complète la solution proposée par @samcarter, basée sur l'extension endnotes \documentclass[french]{article} \usepackage{endnotes} \usepackage{babel} \usepackage{hyperref} \newcommand{\dblnote}[1]% {\footnote{\label{fn\thepage--\thefootnote}#1}% \endnotetext[\thefootnote]{#1}} \newcommand\printendnotes{% \begingroup \parskip .5\baselineskip \def\enotesize{\normalsize} \theendnotes \endgroup} \makeatletter \def\@endanenote{\string\Dottocfill{\pageref{fn\thepage--\thefootnote}}\string\@endanenote} \newcommand\Dottocfill[1]{\nobreak \leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill \nobreak\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor#1\kern-\p@\kern\p@}} \makeatother \begin{document} Blabla \dblnote{Une première note de bas de page} Reblabla avec une\dblnote{Deuxième note en bas de la page} \newpage Reblabla avec une\dblnote{Troisième note en bas de la page} \newpage Encore du blabla\dblnote{Une note en bas d' une autre page} \printendnotes \end{document} 2. Complète la solution proposée par @joseph-tux, basée sur l'extension enotez \documentclass[french]{article} \usepackage{enotez} \usepackage{babel} \newcommand{\dblnote}[1]% {\endnote{#1}\label{fn\theendnote}% \footnotetext[\theendnote]{#1}} \makeatletter \ExplSyntaxOn \cs_set_protected:Npn \enotez_save_note:nnnnnnn #1#2#3#4#5#6#7 { \legacy_if:nT {@filesw} { \iow_now:Nn \@auxout { \enotez@note {#1} {#2} {#3} {#4} {#5} {#6} {#7\Dottocfill{\pageref{fn#2}}} } } } \ExplSyntaxOff \newcommand\Dottocfill[1]{\nobreak \leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill \nobreak\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor#1\kern-\p@\kern\p@}} \makeatother \DeclareInstance{enotez-list}{plain}{paragraph}{format=\normalsize} \begin{document} \section{Test} Blabla\dblnote{Une première note de bas de page} Reblabla\label{2} avec une autre note\dblnote{Deuxième note en bas de la page} Page de la note \theendnote : \pageref{\theendnote} \newpage \section{Suite du test} Encore du blabla\dblnote{Une note en bas d' une autre page} et du blablabla Ici une «liste de notes de bas de page» La 2eme note est numérotée~\ref{fn2} page~\pageref{fn2}. La dernière note (\ref{fn\theendnote}) est à la page~\pageref{fn\theendnote} \newpage \printendnotes* \end{document} |
