tcolorbox 中的精确 hyperref 目标

tcolorbox 中的精确 hyperref 目标

我正在使用该tcolorbox包,并且由于该功能attach boxed title to top left,超目标锚定在主框的顶部而不是标题框的顶部。

即,当我点击第 2 页的链接时,下面给出的代码(MWE)会产生此效果。 在此处输入图片描述

如您所见,标题框被“裁剪”了。

问题

我该如何修补它才能让hyperref目标精确地锚定在标题框的顶部?(理想情况下,解决方案也应该适用于cleveref)。

代码:

\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage[colorlinks=true]{hyperref}

\NewTColorBox[auto counter]{thmboxB}{O{} O{}}{%
    title = {theorem~(#1)}, 
    enhanced,
    attach boxed title to top left = {yshift = -\tcboxedtitleheight/2, xshift = 5mm},
    top = 1.2em,
    #2
}

\begin{document}
  \begin{thmboxB}[Wow][label=thmB]
  Let $Y$ be a set.
  \end{thmboxB}
  \newpage
  theorem \ref{thmB}
\end{document}

答案1

您可以放大 hyperref 提升锚点的数量:

\documentclass{article}
\usepackage[most]{tcolorbox}
\usepackage[colorlinks=true]{hyperref}

\NewTColorBox[auto counter]{thmboxB}{O{} O{}}{%
    code={\renewcommand\HyperRaiseLinkDefault{2\baselineskip}},%<---
    title = {theorem~(#1)}, 
    enhanced,
    attach boxed title to top left = {yshift = -\tcboxedtitleheight/2, xshift = 5mm},
    top = 1.2em,
    #2
}
\begin{document}
  \begin{thmboxB}[Wow][label=thmB]
  Let $Y$ be a set.
  \end{thmboxB}
  \newpage
  theorem \ref{thmB}
\end{document}

这自然会影响框内的所有锚点,因此如果您想再次减少那里的数量,请将类似的代码放在内容部分的开始处。

相关内容