
Как изменить цвет перекрестной ссылки? Я хочу, чтобы метка была черной, а номер синим, как на изображении.
\documentclass{article}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{caption}
\begin{document}
Insert cross reference \autoref{figure}
\begin{figure}%h!
\centering
\includegraphics[]{example-image-a}
\caption{Validation procedure for LR model}\label{figure}
\end{figure}
\end{document}
решение1
Я думаю, вам нужно сделать три вещи:
- Определите свой синий цвет.
- Назначьте ключу hyperref
linkcolor
определенный вами синий цвет. - Патч
\HyRef@testreftype
для обращения к текущему цвету текста перед предоставлением имени/типа ссылки.
\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor}
\definecolor{mylinkcolor}{rgb}{0.561, 0.667, 0.863}
\usepackage[colorlinks=true, linkcolor=mylinkcolor]{hyperref}
\makeatletter
\newcommand\MyAutoefPhrasecolorGroup[1]{%
\color@begingroup\color{MyCurrentcolor}#1\endgroup
}%
\def\HyRef@testreftype#1.#2\\{%
\colorlet{MyCurrentcolor}{.}%
\ltx@IfUndefined{#1autorefname}{%
\ltx@IfUndefined{#1name}{%
\HyRef@StripStar#1\\*\\\@nil{#1}%
\ltx@IfUndefined{\HyRef@name autorefname}{%
\ltx@IfUndefined{\HyRef@name name}{%
\def\HyRef@currentHtag{}%
\Hy@Warning{No autoref name for `#1'}%
}{%
\edef\HyRef@currentHtag{%
\noexpand\MyAutoefPhrasecolorGroup{%
\expandafter\noexpand\csname\HyRef@name name\endcsname
}%
\noexpand~%
}%
}%
}{%
\edef\HyRef@currentHtag{%
\noexpand\MyAutoefPhrasecolorGroup{%
\expandafter\noexpand
\csname\HyRef@name autorefname\endcsname
}%
\noexpand~%
}%
}%
}{%
\edef\HyRef@currentHtag{%
\noexpand\MyAutoefPhrasecolorGroup{%
\expandafter\noexpand\csname#1name\endcsname
}%
\noexpand~%
}%
}%
}{%
\edef\HyRef@currentHtag{%
\noexpand\MyAutoefPhrasecolorGroup{%
\expandafter\noexpand\csname#1autorefname\endcsname
}%
\noexpand~%
}%
}%
}%
\makeatother
\usepackage{caption}
\begin{document}
{\bfseries\verb|\autoref|-references with hyperlink:}
Textcolor unchanged: Insert cross reference \autoref{figure}
Textcolor sawitched to green: \textcolor{green}{Insert cross reference \autoref{figure}}
{\bfseries\verb|\autoref*|-references without hyperlink:}
Textcolor unchanged: Insert cross reference \autoref*{figure}
Textcolor sawitched to green: \textcolor{green}{Insert cross reference \autoref*{figure}}
\begin{figure}%h!
\centering
\includegraphics[]{example-image-a}
\caption{Validation procedure for LR model}\label{figure}
\end{figure}
\end{document}
При \autoref
использовании гиперссылок фраза «Рисунок» отображается цветом окружающего текста и является кликабельной, как и число, которое отображается цветом, обозначенным ключом hyperref linkcolor
.