3

Consider the following input:

\documentclass{svmono}%%% Version 5.6 from https://www.springer.com/gp/authors-editors/book-authors-editors/resources-guidelines/book-manuscript-guidelines/manuscript-preparation/5636
\pagestyle{empty}
\usepackage{cleveref}
\begin{document}
\begin{theorem}\label[theorem]{exmp:myExample}
  Text.\footnote{\label{ftnt:myFootnoteOne}First footnote.}
  Text.\footnote{\label[footnote]{ftnt:myFootnoteTwo}Second footnote.}
  Text.\footnote{\label{ftnt:myFootnoteThree}Third footnote.}
  Text.\footnote{\label[footnote]{ftnt:myFootnoteFour}Fourth footnote.}
\end{theorem}
References to footnotes 3 and 4 with \texttt{\textbackslash cref}: \cref{ftnt:myFootnoteThree}, \cref{ftnt:myFootnoteFour}.\\
References to footnotes 3 and 4 with \texttt{\textbackslash ref}: \ref{ftnt:myFootnoteThree}, \ref{ftnt:myFootnoteFour}.
\end{document}

Feeding this to either of pdflatex, xelatex, or lualatex results in a failure of \cref to determine and print the footnote numbers:

output

As we see, \cref prints the number of the enclosing environment (here, theorem) instead.

How to fix this? I informed the author of cleveref, but my attempts to reach out to Springer ended nowhere (an automatic answer emerged saying texhelp [at] springer [dot] com and texhelp [at] springer [dot] de are dead).

1 Answer 1

4
+100

svmono overwrites at begin document the footnote definition of cleveref. So you should overwrite it again.

\documentclass{svmono}%%% Version 5.6 from https://www.springer.com/gp/authors-editors/book-authors-editors/resources-guidelines/book-manuscript-guidelines/manuscript-preparation/5636
\pagestyle{empty}
\usepackage{cleveref}
\makeatletter
\AtBeginDocument{%
\let\cref@old@makefntext\@makefntext%
\long\def\@makefntext{%
  \cref@constructprefix{footnote}{\cref@result}%
  \protected@edef\cref@currentlabel{%
    [footnote][\arabic{footnote}][\cref@result]%
    \p@footnote\@thefnmark}%
  \cref@old@makefntext}%
 } 
\makeatother 
\begin{document}
\begin{theorem}\label[theorem]{exmp:myExample}
  Text.\footnote{\label{ftnt:myFootnoteOne}First footnote.}
  Text.\footnote{\label[footnote]{ftnt:myFootnoteTwo}Second footnote.}
  Text.\footnote{\label{ftnt:myFootnoteThree}Third footnote.}
  Text.\footnote{\label[footnote]{ftnt:myFootnoteFour}Fourth footnote.}
\end{theorem}
References to footnotes 3 and 4 with \texttt{\textbackslash cref}: \cref{ftnt:myFootnoteThree}, \cref{ftnt:myFootnoteFour}.\\
References to footnotes 3 and 4 with \texttt{\textbackslash ref}: \ref{ftnt:myFootnoteThree}, \ref{ftnt:myFootnoteFour}.
\end{document}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.