Точная цель hyperref в tcolorbox

Точная цель hyperref в tcolorbox

Я использую tcolorboxпакет, и из-за его функции attach boxed title to top leftгиперцель закреплена в верхней части основного поля, а не в верхней части поля заголовка.

А именно, код (MWE), приведённый ниже, создаёт это, когда я нажимаю на ссылку на странице 2. введите описание изображения здесь

Как вы видите, заголовок «обрезан».

Вопрос

Как исправить это, чтобы 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}

Это, естественно, повлияет на все якоря внутри блока, поэтому, если вы снова захотите уменьшить количество, разместите аналогичный код в начале частей содержимого.

Связанный контент