每页重复脚注

每页重复脚注

我正在使用 footmisc 包来引用脚注。我遇到的问题是,当我引用不同页面上的脚注时,latex 不会在该页面上重现脚注,我希望它能够重现该脚注,这样就无需返回该页面查看脚注了。

\documentclass{article}
\usepackage{footmisc}
\begin{document}
Example\footnote{\label{test}Some footnote}
\newpage
Example\footref{test}
\end{document}

例如,上面的文本创建了一个有 2 页的文档,我希望脚注出现在每一页上。在这里我强制分页,但在我的文档中,分页符可以出现在任何地方。

答案1

我想这就是你想要的。

基本思路是制作自定义\footnote\footref。自定义\footnote宏在插入脚注之前保存当前页码和脚注文本。然后自定义宏\footref检查当前页面是否与脚注首次出现的页面不同。如果不同,它会插入一个具有正确编号的新脚注,否则它只会插入引用。

\documentclass{article}
\usepackage{etoolbox}
\usepackage{refcount}
\usepackage{footmisc}
% temporary counter to save footnote number
\newcounter{foottmpcnt}
% custom \footnote command
% #1: label
% #2: footnote text
\newcommand{\myfootnote}[2]{%
  \csgdef{footnote@text@#1}{#2}%
  \global\newcounter{footnote@page@#1}%
  \setcounter{footnote@page@#1}{\value{page}}%
  \footnote{\label{#1}#2}}
% custom \footref command
% #1: label
\newcommand{\myfootref}[1]{%
  \footref{#1}%
  \ifnumcomp{\value{footnote@page@#1}}{=}{\value{page}}
    {}
    {\setcounter{foottmpcnt}{\value{footnote}}%
     \setcounter{footnote}{\getrefnumber{#1}}%
     \footnotetext{\csuse{footnote@text@#1}}%
     \setcounter{footnote}{\value{foottmpcnt}}%
     \setcounter{footnote@page@#1}{\value{page}}}}
\begin{document}
Example\myfootnote{testa}{Some footnote}

Example\myfootnote{testb}{Some footnote}

Example\myfootref{testa}
\newpage
Example\myfootnote{testc}{Some footnote}

Example\myfootref{testa}

Example\myfootnote{testd}{Some footnote}

Example\myfootref{testc}

Example\myfootref{testa}
\newpage
Example\myfootref{testa}

Example\myfootref{testc}
\end{document}

相关内容