
Я использую 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}
Это, естественно, повлияет на все якоря внутри блока, поэтому, если вы снова захотите уменьшить количество, разместите аналогичный код в начале частей содержимого.