有关“\footnotetext 编号为许多 \footnotemark - 自动解决方案”的相关问题

有关“\footnotetext 编号为许多 \footnotemark - 自动解决方案”的相关问题

David Carslie 提出了一个解决方案这里。问题是,如果您有一个有多页的环境,并且您希望脚注出现在页面底部,而脚注标记出现在最后一页的底部,那么您该怎么做呢?

一个最小的工作示例:

\documentclass{report}
\makeatletter
\newtoks\FTN@ftn
\def\pushftn{%
 \let\@footnotetext\FTN@ftntext\let\@xfootnotenext\FTN@xftntext
  \let\@xfootnote\FTN@xfootnote}
\def\popftn{%
 \global\FTN@ftn\expandafter{\expandafter}\the\FTN@ftn}
\long\def\FTN@ftntext#1{%
  \edef\@tempa{\the\FTN@ftn\noexpand\footnotetext
                    [\the\csname c@\@mpfn\endcsname]}%
  \global\FTN@ftn\expandafter{\@tempa{#1}}}%
\long\def\FTN@xftntext[#1]#2{%
  \global\FTN@ftn\expandafter{\the\FTN@ftn\footnotetext[#1]{#2}}}
\def\FTN@xfootnote[#1]{%
   \begingroup
     \csname c@\@mpfn\endcsname #1\relax
     \unrestored@protected@xdef\@thefnmark{\thempfn}%
   \endgroup
   \@footnotemark\FTN@xftntext[#1]}

\makeatother
\usepackage{framed,lipsum}
\begin{document}
\begin{framed}\pushftn
\footnote{Test}\lipsum
\end{framed}\popftn

\end{document}

相关内容