如果存在\footnote
inside 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
与 脚注的标准行为相同minipage
。mdframed
然而,在包底部打印脚注的简单方法是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
小写字母编号,而文档的其余部分使用阿拉伯数字作为脚注。使用上述方法,所有内容都是阿拉伯语。