40

It seems like it's not possible to put footnote inside a description list item.

For example in the following code first footnote appears at the bottom of the page, but the second - doesn't:

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

Why it's not working this way? And is there any way to put footnote to a list item?

1
  • Welcome to tex.sx -- you provided a good minimal example!
    – lockstep
    Nov 13, 2011 at 18:38

3 Answers 3

43

Use \footenotemark inside the item's optional argument and \footnotetext outside.

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

enter image description here

1
  • This does not work well because how does one reference previous footnotes? Seems a proper fix is required, why is this so hard? Should be as simple as pie. Sep 18, 2018 at 11:25
7

You can also use the savenotes environment provided by the footnote package. Here's your minimal example modified to use it:

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

Kudos to http://texblog.org/2012/02/03/using-footnote-in-a-table/ for pointing this out for use in tables.

1
  • The \end{savenotes} seems to force a paragraph break after the description list.
    – Mars
    Feb 17, 2016 at 6:07
5

As long as there is only one footnote in the [Label], the method given by lockstep is totally sufficient (I gave +1 for it). But for more than one footnote (especially in combination with the hyperref package) this does not work. (OK, this is probably a very rare, maybe even purely theoretical case.) MWE (not working, resulting in two footnotes labelled 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}

There is a solution to the problem, somewhat misusing the tablefootnote package:

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

If you are as forgetful as I am and you keep forgetting to add the \itemlabelfootnotetext but are bold enough to redefine \@item, you can even use this:

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .