描述环境中项目的脚注

描述环境中项目的脚注

似乎无法将脚注放在描述列表项中。

例如,在下面的代码中,第一个脚注出现在页面底部,但第二个脚注却没有出现:

\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}

相关内容