似乎无法将脚注放在描述列表项中。
例如,在下面的代码中,第一个脚注出现在页面底部,但第二个脚注却没有出现:
\documentclass[a4paper,12pt]{article}
\begin{document}
Text text text.\footnote{This footnote is working}
\begin{description}
\item[Label\footnote{This footnote is not working}] Some description
\end{description}
\end{document}
为什么这样不行?有没有什么方法可以为列表项添加脚注?
答案1
\footenotemark
在项目的可选参数内部和\footnotetext
外部使用。
\documentclass{article}
\textheight=80pt% just for the example
\begin{document}
Text text text.\footnote{This footnote is working.}
\begin{description}
\item[Label\footnotemark]\footnotetext{This footnote is working, too.} Some description
\end{description}
\end{document}
答案2
您还可以使用savenotes
使用footnote
包裹。这是您修改后使用它的最小示例:
\documentclass[a4paper,12pt]{article}
\usepackage{footnote}
\begin{document}
Text text text.\footnote{This footnote is working}
\begin{savenotes}
\begin{description}
\item[Label\footnote{This footnote is now working}] Some description
\end{description}
\end{savenotes}
\end{document}
感谢http://texblog.org/2012/02/03/using-footnote-in-a-table/指出这一点以便在表格中使用。
答案3
只要在[Label]
,lockstep 给出的方法就完全足够了(我给它 +1)。但对于多个脚注(尤其是与超链接包)这不起作用。 (好吧,这可能是一个非常罕见的,甚至可能是纯粹理论上的情况。)MWE(不是 工作,产生两个标有 的脚注3
) :
\documentclass{article}
\usepackage{hyperref}
\textheight=80pt% just for the example
\begin{document}
Text text text.\footnote{This footnote is working.}
\begin{description}
\item[Label\footnotemark\textsuperscript{,\,}\footnotemark]\footnotetext{This %
footnote is not really working.}\footnotetext{Neither is this one.}Some description
\end{description}
\newpage
Text.
\end{document}
有一个解决问题的方法,但有点滥用表脚注包裹:
\documentclass{article}
\usepackage{hyperref}
\usepackage{tablefootnote}
\makeatletter
\newcommand{\itemlabelfootnotetext}{\tfn@tablefootnoteprintout \gdef\tfn@fnt{0}}
\makeatother
\begin{document}
Text text text.\footnote{This footnote is working.}
\begin{description}
\item[Label\tablefootnote{This footnote is really working.}\textsuperscript{,\,}%
\tablefootnote{Even this one is working.} text]\itemlabelfootnotetext Some %
description\footnote{And this one, too.}
\end{description}
\newpage
Text.
\end{document}
如果你和我一样健忘,总是忘记添加,\itemlabelfootnotetext
但又大胆地重新定义\@item
,你甚至可以使用这个:
\documentclass{article}
\usepackage{hyperref}
\usepackage{tablefootnote}
\usepackage{letltxmacro}
\makeatletter
\AtBeginDocument{%
\LetLtxMacro{\tfn@origitem}{\@item}%
\renewcommand*{\@item}[1][]{%
\tfn@origitem[#1]%
\tfn@tablefootnoteprintout%
\gdef\tfn@fnt{0}%
}%
}
\makeatother
\begin{document}
Text text text.\footnote{This footnote is working.}
\begin{description}
\item[Label\tablefootnote{This footnote is really working.}\textsuperscript{,\,}%
\tablefootnote{Even this one is working.} text] Some %
description\footnote{And this one, too.}
\end{description}
\newpage
Text.
\end{document}