\ref 为图形、方程式等使用不同的颜色

\ref 为图形、方程式等使用不同的颜色

如何为\ref{}图形和方程式设置不同的颜色?我的图形有标签\label{fig:name},而方程式只有\label{name}。有没有办法根据参数是否带有“ fig:”将颜色设置为不同?

答案1

cleveref请在答案末尾寻找非版本。

cleveref包允许对交叉引用格式进行多种配置,其中\crefformat{figure}{#2#1#3}#2保留#3用于超锚点设置,不应互换,而#1包含要排版的内容,因此\color可以在这里进行字体切换或命令。

\documentclass{article}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{cleveref}


\crefformat{figure}{#2{\color{blue}#1}#3}
\Crefformat{figure}{#2{\color{blue}#1}#3}

\crefformat{equation}{#2{\bfseries\color{violet}#1}#3}
\Crefformat{equation}{#2{\itshape\color{violet}#1}#3}

\begin{document}

See \cref{foofigure} or \cref{fooequation} or \Cref{fooequation}


\begin{figure}
  \caption{foofigure}\label{foofigure}
\end{figure}

\begin{equation}
  E=mc^{2} \label{fooequation}
\end{equation}

\end{document}

在此处输入图片描述

与传统p@figure等交叉引用格式的版本:

\documentclass{article}
\usepackage{xcolor}
\usepackage{hyperref}

\makeatletter
\def\p@figure{\color{blue}}
\def\p@equation{\itshape\color{violet}}
\makeatother



\begin{document}

See \ref{foofigure} or \ref{fooequation}

\begin{figure}
  \caption{foofigure}\label{foofigure}
\end{figure}

\begin{equation}
  E=mc^{2} \label{fooequation}
\end{equation}

\end{document}

输出与其他版本的屏幕截图基本相同,图像中未显示超链接框架。

相关内容