更改文档类别时丢失 nameref

更改文档类别时丢失 nameref

以下 MWE 编译良好

\documentclass{article}

\usepackage{tcolorbox}
\tcbuselibrary{theorems}
\usepackage{hyperref}
\usepackage{cleveref}

\newtcbtheorem{thm}{Theorem}{#1}{thm}

\begin{document}
  
  This is a reference to \nameref{thm:awesome} labelled \ref{thm:awesome}%
  
  \begin{thm}[fonttitle=\sffamily\bfseries\normalsize]{My awesome test theorem}{awesome}
    Isn't this theorem so awesome?
  \end{thm}
  
\end{document}

当我切换到 时memoir documentclass,我得到以下输出(使用nameref而不是cleverref是相同的)... 在此处输入图片描述

有什么办法可以解决这个问题吗?

答案1

似乎memoir的超链接设置不再正确同步。或者至少它无法从 拾取标题tcolorbox

你可以\nameref通过

\makeatletter
\RenewDocumentCommand\nameref{s}
    {\IfBooleanTF{#1}{\@namerefstar}{\T@nameref}}
\makeatother

在序言中(加载软件包之后)

相关内容