如何为\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}
输出与其他版本的屏幕截图基本相同,图像中未显示超链接框架。