在页面底部而不是框架后打印 mdframed 脚注

在页面底部而不是框架后打印 mdframed 脚注

如果存在\footnoteinside anmdframed环境,那么我可以通过标志控制footnoteinside=false是否要将这些脚注包含在框架内或框架外。但即使在框架外排版,它们也会立即跟随框架。有没有办法,也许使用一个小技巧,将这些脚注打印在包含框架的(最后一页)末尾?

答案1

这似乎有效。

\documentclass{article}

\usepackage{mdframed}
\usepackage{footnote}
\newenvironment{mdframedwithfoot}
{   
    \savenotes
    \begin{mdframed}
    \stepcounter{footnote}
    \renewcommand{\thempfootnote}{\arabic{footnote}}
    }
{
    \end{mdframed}
    \spewnotes
}
\usepackage{hyperref}


\begin{document}
aa\footnote{test1}

\begin{mdframedwithfoot}
bb\footnote{test2}
\end{mdframedwithfoot}

qq

\begin{mdframed}
cc
\end{mdframed}

dd\footnote{test3}
\end{document}

答案2

脚注的标准行为mdframed与 脚注的标准行为相同minipagemdframed

然而,在包底部打印脚注的简单方法是tablefootnote对包提供的tablefootnotes

\documentclass[]{article} 
\usepackage[framemethod=tikz]{mdframed} 
\usepackage{tablefootnote} 
\makeatletter 
\AfterEndEnvironment{mdframed}{%
 \tfn@tablefootnoteprintout% 
 \gdef\tfn@fnt{0}% 
}
\makeatother 
\begin{document} 
\begin{mdframed} 
 foo\tablefootnote{foo} 
 bar\tablefootnote{bar} 
\end{mdframed} 
\end{document}

答案3

我发现,通过\footnotemark在框架内和\footnotetext{…}框架后书写,我可以达到预期的效果。这样做还有一个好处,那就是使用与文档其余部分一致的编号方案:脚注使用mdframed小写字母编号,而文档的其余部分使用阿拉伯数字作为脚注。使用上述方法,所有内容都是阿拉伯语。

相关内容