
Рассмотрим следующие входные данные:
\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}
Передача этого значения в pdflatex
, xelatex
или lualatex
приводит к невозможности \cref
определения и печати номеров сносок:
Как мы видим, вместо этого \cref
печатает номер охватывающей среды (здесь, theorem
).
Как это исправить? Я сообщил об этом автору cleveref
, но мои попытки связаться со Springer ни к чему не привели (появился автоматический ответ, в котором говорилось, чтоtexhelp [at] springer [точка] comиtexhelp [at] springer [точка] deмертвы).
решение1
svmono перезаписывает в начале документа сноску определения cleveref. Так что вам следует перезаписать ее снова.
\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}