我想创建一个替代命令来\ref
区分两种不同颜色(例如黑色和红色)之间的链接。
在下面的代码中我只是使用了答案这里并替换\href
为\ref
。它不起作用,但我不知道如何修复它。
\documentclass[10 pt,a4paper,oneside,openany, notitlepage]{article}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{amsmath, amssymb, graphics}
\usepackage[colorlinks = true,
linkcolor = black,
urlcolor = black,
citecolor = black,
anchorcolor = black]{hyperref}
\newcommand\MYref[3][red]{\ref{#2}{\color{#1}{#3}}}% %NEW COMMAND ALTERNATIVE TO REF
\begin{document}
\section{Title}
\label{blah}
\begin{equation}
\label{eq1}
A=B
\end{equation}
See Section \MYref{blah2}
See Equation \ref{eq1} or \MYref{eq1}
\newpage
\section{Title2}
\label{blah2}
\end{document}
我想要的是当我使用时以红色显示链接(到方程式、章节、小节、图形等),\Myref
当我使用时以黑色显示\ref
。
答案1
在你们的配对中成对使用该\hypersetup{linkcolor=red}
命令。\begingroup...\endgroup
\MYref
我曾经xparse
提供过第三个可选参数,但在示例中根本没有给出。
\documentclass[10 pt,a4paper,oneside, notitlepage]{article}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{amsmath, amssymb, graphics}
\usepackage[colorlinks = true,
linkcolor = black,
urlcolor = black,
citecolor = black,
anchorcolor = black]{hyperref}
\usepackage{xparse}
\NewDocumentCommand{\MYref}{O{red}mo}{%
\begingroup
\hypersetup{linkcolor=#1}%
\ref{#2}%
\IfValueT{#3}{%
\color{#1}{#3}%
}%
\endgroup
}% %NEW COMMAND ALTERNATIVE TO REF
\newcommand\MYreforig[3][red]{\begingroup\hypersetup{linkcolor=#1}\ref{#2}{\color{#1}{#3}}\endgroup}% %NEW COMMAND ALTERNATIVE TO REF
\begin{document}
\section{Title}
\label{blah}
\begin{equation}
\label{eq1}
A=B
\end{equation}
See Section \MYref{blah2}
See Equation \ref{eq1} or \MYref{eq1}
\newpage
\section{Title2}
\label{blah2}
\end{document}