Cleveref가 svmono 5.6 클래스를 사용할 때 각주 번호를 인식하지 못합니다.

Cleveref가 svmono 5.6 클래스를 사용할 때 각주 번호를 인식하지 못합니다.

다음 입력을 고려하십시오.

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

이 문제를 해결하는 방법은 무엇입니까? 작성자에게 의 내용을 알렸지만 cleverefSpringer에 연락하려는 시도는 아무데도 끝나지 않았습니다.texhelp [at] springer [dot] com그리고texhelp [at] springer [dot] 드죽었어).

답변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}

관련 정보