Cleveref kann die Fußnotennummer bei Verwendung der svmono 5.6-Klasse nicht erkennen

Cleveref kann die Fußnotennummer bei Verwendung der svmono 5.6-Klasse nicht erkennen

Betrachten Sie die folgende Eingabe:

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

Wenn dies an pdflatex, xelatexoder übergeben wird, lualatexschlägt das \crefErmitteln und Drucken der Fußnotennummern fehl:

Ausgabe

Wie wir sehen, wird stattdessen \crefdie Nummer der umschließenden Umgebung (hier theorem) gedruckt.

Wie kann ich das beheben? Ich habe den Autor von informiert cleveref, aber meine Versuche, Springer zu erreichen, endeten im Sande (eine automatische Antwort lautete:texhelp [at] springer [dot] comUndtexhelp [at] springer [dot] desind tot).

Antwort1

svmono überschreibt am Anfang des Dokuments die Fußnotendefinition von cleveref. Sie sollten sie also erneut überschreiben.

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

verwandte Informationen