我有一个文档,其中某个部分使用了multicols
inside multicols
,但是当我在内部环境中定义脚注时multicols
,它不会显示。在multicols
外部环境之外或内部定义的脚注multicols
可以正常显示。
如何确保显示所有脚注?
现场演示:https://www.overleaf.com/read/dfyjqddkccrc
完整可重现的示例:
\documentclass{article}
\usepackage{multicol}
\title{footnote nested multicol}
\begin{document}
This is non-columned paragraph. \footnote{This footnote renders completely fine.}
\begin{multicols}{2}
foo \footnote{This footnote inside a multicols environment renders completely fine as well.}
\begin{multicols}{2}
bar \footnote{There are no signs of this footnote from multicols nested within multicols.}
\end{multicols}
\end{multicols}
\end{document}
我正在使用 LuaLaTeX。
答案1
这个怎么样?
\documentclass{article}
\usepackage{multicol}
\title{footnote nested multicol}
\begin{document}
This is non-columned paragraph. \footnote{This footnote renders
completely fine.}
\begin{multicols}{2}
foo \footnote{This footnote inside a multicols environment renders
completely fine as well.}
\begin{minipage}{.7\columnwidth}
\begin{multicols}{2}
bar \footnote{There are no signs of this footnote from multicols
nested within multicols.}
\end{multicols}
\end{minipage}
\end{multicols}
\end{document}
答案2
接下来的多列会生成一个类似的框\parbox
,而 parbox 不支持脚注,或者更确切地说,它的脚注文本永远不会迁移到外部 --- 并且在没有任何警告的情况下,这是 LaTeX 的一个缺陷(但它深深地融入了算法中,所以不太可能改变)。
\footmark
然而,LaTeX 提供了和的使用(至少在脚注不多的情况下很容易使用)\footnotetext
。因此
\begin{multicols}{2}
bar\footnotemark
\end{multicols}\footnotetext{There are signs of this footnote from multicols nested within multicols.}
结果很好。