在 tcolorbox 框架内设置不同的 hyperref 颜色

在 tcolorbox 框架内设置不同的 hyperref 颜色

我目前有以下 MWE:

\documentclass{article}

\usepackage[usenames,dvipsnames]{xcolor}
\usepackage[colorlinks=true]{hyperref}
\hypersetup{allcolors=blue}
\usepackage[most]{tcolorbox}

\newenvironment{testenv}{
  \tcbset{colframe=blue!75!black,colback=blue!10!white,coltext=NavyBlue,%
    fonttitle=\hypersetup{urlcolor=blue!10!white}}
}

\begin{document}

\section{test\label{sec:test}}

Referring to \ref{sec:test} outside of tcolorbox.

\begin{testenv}
\begin{tcolorbox}[title=Referring to \ref{sec:test} in the tcolorbox frame]
Referring to \ref{sec:test} inside of tcolorbox.
\end{tcolorbox}
\end{testenv}

\end{document}

输出结果如下:

在此处输入图片描述

我希望“引用 tcolorbox 框架中的 1”文本中的“1”与框架文本的其余部分颜色相同(blue!10!white)。如果可能的话,我不希望全局更改超链接文本颜色或框架背景颜色tcolorbox

我已经尝试设置

fonttitle=\hypersetup{urlcolor=blue!10!white}

在序言中,但这没有起作用。有什么想法吗?

答案1

您不能使用\urls 而是\refs,因此必须更改linkcolor为:urlcolor

\documentclass{article}

\usepackage[usenames,dvipsnames]{xcolor}
\usepackage[colorlinks=true]{hyperref}
\hypersetup{allcolors=blue}
\usepackage[most]{tcolorbox}

\newenvironment{testenv}{
 \tcbset{colframe=blue!75!black,colback=blue!10!white,coltext=NavyBlue,%
   fonttitle=\hypersetup{linkcolor=blue!10!white}}% linkcolor instead of urlcolor!
}

\begin{document}

\section{test\label{sec:test}}

Referring to \ref{sec:test} outside of tcolorbox.

\begin{testenv}
\begin{tcolorbox}[title=Referring to \ref{sec:test} in the tcolorbox frame]
Referring to {\hypersetup{linkcolor=NavyBlue}\ref{sec:test}} %
% if you want to change the color here, too.
inside of tcolorbox.
\end{tcolorbox}
\end{testenv}

\end{document}

相关内容