嵌套多列的脚注不显示

嵌套多列的脚注不显示

我有一个文档,其中某个部分使用了multicolsinside 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.}

结果很好。

相关内容