I need to have footnotes in captions of figures and therefore use the afterpage
package to keep the footnotes and the figure on the same page (also using package footnote
for footnotes in figures). I need to write my PhD thesis in a style that was defined in Word, but I wanted to write in Latex. Word always puts footnotes at the bottom of the page. So basically, I'm forced to put footnotes at the bottom. Others seem to have the same problem (other question, accepted answer puts footnote on bottom of page, but is manual; also for tables that might float and floats in general, where I found the idea with afterpage
; also in other places on the web), so I though I might share my progress made so far and get input from others on the issue.
When using floats in an afterpage environment, the ordering of the footnotes at the bottom gets mangled up in some parts of the document. I managed to fix the ordering of the footnotes at the bottom with a dirty hack (see below), but the footnote number of the figure is not always the first footnote number appearing on the page. So I now have basically two questions:
- What does my dirty hack do? I just tried some things and somehow it worked, now I'd like to understand why and whether it might have effects on other parts of the document.
- How can I get the correct footnote number, i.e. the lowest footnote number on that page, for the footnote of the caption?
My dirty hack (using \patchcmd
from etoolbox
):
\usepackage{etoolbox}
\makeatletter
\tracingpatches
\patchcmd{\AP@savetop}{\global\setbox\AP@footins\box\footins}{}{}{}
\patchcmd{\AP@@}{\insert\footins{\unvbox\AP@footins}\fi}{\setbox\footins\vbox{\unvbox\AP@footins}\fi}{}{}
\makeatother
What I get without my dirty hack:
- Footnotes on same page as figure
- Footnotes order not correct
- Footnote number of caption not first number on page
What I get with my dirty hack
- Footnotes on same page as figure
- Footnotes order correct
- Footnote number of caption not first number on page
What I want
- Footnotes on same page as figure
- Footnotes order correct
- Footnote number of caption first number on page
MWE:
\documentclass[12pt,a4paper,twoside,openany,fleqn]{book}
\usepackage{afterpage}
\usepackage[ngerman]{babel}
\usepackage{lipsum}
\usepackage{footnote}
\makesavenoteenv{figure}
\begin{document}
\chapter{First Chapter}
\lipsum[1]\footnote{Footnote}
\afterpage{
\begin{figure}[htp]
\fbox{Hello World}
\caption[test]{test\protect\footnote{Test}}
\end{figure}
}
\lipsum[1]\footnote{Footnote}
\lipsum[1]\footnote{Footnote}
\lipsum[1]\footnote{Footnote}
\afterpage{
\begin{figure}[htp]
\fbox{Hello World}
\caption[test]{test\protect\footnote{Test}}
\end{figure}
}
\lipsum[1]\footnote{Footnote}
\lipsum[1]\footnote{Footnote}
\end{document}
Edit1:
Second MWE without afterpage
, where footnote is kept on different page. Adding afterpage
around the figures moves the footnote to the correct page:
\documentclass[12pt,a4paper,twoside,openany,fleqn]{book}
\usepackage[ngerman]{babel}
\usepackage{lipsum}
\usepackage{footnote}
\makesavenoteenv{figure}
\begin{document}
\chapter{First Chapter}
\lipsum[1]\footnote{Footnote}
\begin{figure}[tp]
\begin{minipage}[t][0.4\textheight][t]{0.6\textwidth}
\end{minipage}
\caption[test]{test\protect\footnote{Test}}
\end{figure}
\lipsum[1]\footnote{Footnote}
\lipsum[1]\footnote{Footnote}
\lipsum[1]\footnote{Footnote}
\begin{figure}[tp]
\begin{minipage}[t][0.4\textheight][t]{0.6\textwidth}
\end{minipage}
\caption[test]{test\protect\footnote{Test}}
\end{figure}
\lipsum[1]\footnote{Footnote}
\lipsum[1]\footnote{Footnote}
\end{document}
.sty
directly but do that with a patch in your document. But at first. Why do you needafterpage
? If you just kick all theafterpage
stuff out, it works just as you desire. With help of\protect
, the footnotes will always be correct. Well, I believe. If not, take a look on\footnotemark
and\footnotetext
!